一流的免费网站建设,衡水网站设计费用,wordpress找回密码邮件,网站建设 鼠标JavaScript基础
核心知识点
对象 4种创建对象的方式操作对象#xff08;取值#xff0c;赋值#xff09;
今日学习目标
能够使用对象方式保存数据能够理解自定义构造函数如何创建对象能够获取对象中的值及给对象赋值
对象 思考#xff1a; 如何通过js函数将人的信息输…JavaScript基础
核心知识点
对象 4种创建对象的方式操作对象取值赋值
今日学习目标
能够使用对象方式保存数据能够理解自定义构造函数如何创建对象能够获取对象中的值及给对象赋值
对象 思考 如何通过js函数将人的信息输出什么是对象 ☞现实世界 万事万物皆对象。✔对象 必须是一个具体的事物。 手机汽车不是对象属于一类对象◆ 对象是由 特征名词【属性】 和 行为动词【方法】☞程序中的对象 对现实对象的抽象☞ 总结
1. 程序中的对象✔ 对象必须有对应的属性【描述对象的特点在程序中一般使用名词描述】✔ 对象必须有行为动作方法 【方法用来描述具体对象的行为动作一般方法使用动词】对象字面量创建对象 ☞ 通过字面量方式创建对象var 变量名 { key: value, key: value, key: functon () {} };备注1. 创建对象必须要确定具体的事物2. 创建对象必须要确定对象有哪些属性【特征】或者方法【动作行为】3. 如果一次想要输出多个对象那么可以将每一个对象放到一个数组中。☞ 访问对象属性 对象.属性 | 对象[属性名]
☞ 访问对象方法 对象.方法名注意1、 如果通过 对象[属性名]访问对象的属性时候必须保证使用字符串格式☞ 函数独立存在的函数☞ 方法 属于对象的函数匿名函数课堂练习 1. 创建一个英雄对象☞ 姓名☞ 年龄☞ 职业☞ 武器装备 (weapon)☞ 爱好☞ 技能 (移动, 攻击(attack))通过Object创建对象 ☞ var 变量 new Object();1. Object 是一个构造函数2. 通过new调用构造函数☞ 添加属性对象变量.属性名 值;☞ 添加方法
对象变量.方法名 function () {}工厂方式创建对象 1. 思考如何创建多个游戏对象2. 例如
function create ( name, age, height ) {
var Ob new Object()Ob.name name;Ob.age age;Ob.height height;Ob.eat function () {}return Ob;
}自定义构造函数创建对象 ☞ 使用帕斯卡命名法 每个单词首字母大写☞ 例如
function CreateHero ( name, age, height ) {this.name name;this.age age;this.height height;}☞ 课堂案例1. 使用自定义构造函数方式创建3个对象并添加到数组中 【对象基本的属性有 name age, gender】new 关键字执行过程 1. 在内存中创建一个空对象
2. this指向创建的对象
3. 执行函数
4. 返回当前对象注意1. 在构造函数中默认的返回值就是当前创建的对象this关键字 1. 普通函数中的this 指向Window
2. 在方法中的this 指向当前方法所属的对象
3. 在构造函数的this 指向创建的对象
总结构造函数谁调用函数this就指向谁遍历对象删除对象属性 ☞ 通过 for in 遍历 对象的成员☞ 遍历对象中的属性☞ 遍历对象中的值对象案例 1. 通过构造函数创建3个对象并将3个对象放到数组中最后再将数组中每一个对象的信息输出。
备注☞对象的信息需要从用户输入中获取检测对象的数据类型 对象 instanceof 构造函数对象总结 1. 程序中的对象 在程序中对具体事物的抽象2. 对象的基本的组成 属性【描述对象特征特点】 | 方法 【描述对象行为动作功能】3. 创建对象方式✔ 字面量方式var obj {key 值,key function () {}}✔ 通过构造函数var obj new Object(); obj.自定义属性名 值;obj.自定义方法名 function () {}✔ 工厂模式创建对象本质就是对第二种方式的封装创建多个对象function people (name) {var obj new Object();obj.自定义属性名 name;return obj}var zs people(zs);✔ 自定义构造函数创建对象确定对象的类型function People (name) {this.自定义属性名 name;}var zs new People(zs);4. 对象的基本操作✔ 获取对象的属性或方法1. 对象.自定义属性名 || 对象[属性名]2. 对象.自定义方法名()5. 判断对象的具体类型对象名称 instanceOf 构造函数其他扩展部分
简单数据类型在内存中的存储 ☞ 简单数据类型值类型 存储在内存的 栈 上☞ Number String Boolean Null Undefined☞ 分析简单数据类型在内存中的存储方式var n1 10;var n2 n1;复杂数据类型在内存中的存储 ☞ 复杂数据类型引用类型 存储在内存的 堆 上☞ Object | Array | 函数简单数据类型作为函数的参数在内存存储 ☞ 分析案例代码function fn ( a, b ) {a a1;b b1;console.log( a );console.log( b );}var x 10var y 5;fn(x, y);console.log( x, y ); 思考x y 的值是多少复杂数据类型作为函数的参数在内存存储 ☞ function Person ( name, age ) {this.name name; this.age age;this.sayHi function () {console.log( 你好 );}}var p1 new Peron( 张三, 18 );function getperson ( person ) {person.name 李四;}getperson( p1 );console.log( p1.name ); 思考 p1 的name值是什么