预解析和对象

预解析

1.预解析

JavaScript解析器在运行JavaScript代码的时候分两步:预解析和代码执行

  • 预解析:JS 引擎会把 JS 里面所有的var 还有function提升到当前作用域的最前面

  • 代码执行:按照代码书写的顺序从上往下执行

1.1 预解析

分为变量预解析(变量提升)函数预解析(函数提升)

  • 变量提升就是把所有的变量声明提升到当前作用域最前面,不提升赋值操作
  • 函数提升就是把所有的函数声明提升到当前作用域最前面,不调用函数

JavaScript 对象

1.对象(object)

1.1 什么是对象?

在JS中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等

对象是由属性方法组成的

  • 属性:事物的特征,在对象中用属性来表示(常用名词)
  • 方法:事物的行为,,在对象中用方法来表示(常用动词)
1.2 为什么需要对象

2.创建对象的三种方式

  • 利用字面量创建对象
  • 利用 new Object 创建对象
  • 利用构造函数创建对象
2.1 利用字面量创建对象

对象字面量:就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法

var obj = {
            name: '王一博',
            age: 24,
            sex: '男',
            dancing: function () {
                console.log('dancingking');
            }
        }

(1)里面的属性或者方法采用键值对的形式,键 属性名:值 属性值

(2)多个属性或者方法中间用逗号隔开

(3)方法冒号后面跟的是一个匿名函数

使用对象

console.log(obj.name);		//对象名.属性名
console.log(obj['age']);		//对象名['属性名']
obj.dancing();		//对象名.方法名()
2.2 利用new Object创建对象
// 利用new Object创建对象
        var obj = new Object();     //创建了一个空的对象
        obj.name = '王一博';
        obj.age = 24;
        obj.sex = '男';
        obj.dancing = function () {
            console.log('dancing!');
        }
  • 利用等号 = 赋值的方法添加对象的属性和方法
  • 每个属性和方法之间用分号 ; 结束
2.3 利用构造函数创建对象
function 构造函数名() {
            this.属性 = 值;
            this.方法 = function() {}
}
new 构造函数名();
  • 构造函数名第一个字母要大写
  • 构造函数不需要return 就可以返回结果
  • 调用构造函数必须使用new
  • 只要调用函数就创建了一个对象
  • 属性和方法前面必须添加this

3. new 关键字

new 关键字执行过程

  • new构造函数可以在内存中创建一个空的对象
  • this就会指向刚才创建的空对象
  • 执行构造函数里面的代码,给这个空对象添加属性和方法
  • 返回这个新对象(所以构造函数里面不需要return)

4.遍历对象属性

for…in用于对数组或者对象的属性进行循环操作

//for (变量 in 对象) {
            
//}
for (var k in obj) {
            console.log(k);     //k 变量,输出属性名
            console.log(obj[k]);        //obj[k]输出属性值
}

for…in 里面的变量一般使用k,或者key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值