js03

预解析
JavaScript代码是由浏览器中的JavaScript解析器来执行的。JavaScript解析器在运行JavaScript代码的时候分为两步:预解析和代码执行
1,js引擎运行js分为两步:预解析和代码执行
(1)预解析:js引擎会把js里面所有的var还有function提升到当前作用域的最前面
(2)代码执行:按照代码书写的顺序从上往下执行
2,预解析分为变量预解析(变量提升)和函数预解析(函数提升)
(1)变量提升就是把所有的变量声明提升到当前的作用域最前面,不提升赋值操作
(2)函数提升就是把所有的函数声明提升到当前作用域的最前面,不调用函数
即:函数表达式调用必须写在函数表达式的下面
对象
对象:现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物。例如,一本书,一辆汽车,一个人。可以是对象,一个数据库,一张网页,一个与远程服务器的链接也可以是对象
在js中对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串,数值,数组,函数等
对象是由属性和方法组成的
属性:事物的特征,在对象中用属性来表示(常用名词 )
方法:事物的行为,在对象中用方法来表示(常用动词)
创建对象的三种方式
利用字面量创建对象
对象字面量:就是花括号{}里面包含了表达这个具体事务(对象)的属性和方法
利用new object创建对象
利用构造函数创建对象
1,因为前面的两种创建对象的方式一次只能创建一个对象,里面的很多的属性和方法是大量相同的,我们只能复制
2,因此我们可以利用函数的方法重复这些相同的代码,我们就把这个函数称为构造函数
3,又因为这个函数不一样,里面封装的不是普通代码,而是担心
4,构造函数就是把我们对象里面的一些相同的属性和方法抽象出来封装到函数里面

创建对象
(1)里面的属性或者方法采取键值对的形式,键:属性名,值:属性值
(2)多个属性或者方法中间用逗号隔开的
(3)方法冒号后面跟的是一个匿名函数
使用对象
1,调用对象的属性:对象名.属性名或对象名[‘属性名’]
2,调用对象的方法:对象名.方法名(必须加括号)
变量和属性的区别
变量和属性的相同点:都是用来存储数据的
变量:单独声明并赋值,使用的时候直接写变量名(单独存在)
属性:在对象里面的是不需要声明的,使用的时候必须是对象.属性
函数和方法的区别
函数和方法的相同点都是使用某种功能做某件事
函数:是单独声明并且调用的:函数名()调用,单独存在
方法:在对象里面,调用的时候 对象.方法()
构造函数和对象的区别
1,构造函数泛指某一大类,它类似于java语言中的class,
2,对象特指一个具体的事物
3,利用构造函数创建对象的过程也称为对象的实例化
利用构造函数创建对象
构造函数:是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new运算符一起使用,我们可以把对象中的一些公共的属性和方法抽取出来,然后封装到这个函数里面
function 构造函数名(){
this.属性=值
this.方法=function(){}
}new 构造函数名()
1,构造函数名首字母大写
2,构造函数不需要return
3,调用构造函数必须使用new
4,只要调用函数就创建了一个对象
5,属性和方法前面必须添加this
new关键字
1,new在构造函数可以在内存中创建一个空的对象
2,this就会指向刚才创建的空对象
3,执行构造函数里面的代码,给这个空对象添加属性和方法
4,返回这个对象
for…in语句遍历对象属性:用于对数组或者对象的属性进行循环操作
for (var k in obj){
console.log(k);//k 是变量,输出得到的是属性名
console.log(obj[k]);
//obj[k]得到的是属性值
}
小结
1,对象可以让代码结构更清晰
2,对象是复杂数据类型object
3,本质:对象就是一组无序的相关属性和方法的集合
4,构造函数泛指某一大类
5,对象实例特指一个事物
6,可以利用for…in对对象的属性进行循环操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值