集训第二天--复习JavaScript--原型对象笔记

break和continue的区别

终止循环和switch if不能使用break 但是for循环里面的if可以使用break

continue结束当前循环

break结束本次循环

对象

JS的数据类型

string boolean number null undefined (基本数据类型)object(复合数据类型) 

基本数据类型都是单一的值 创建的变量都是独立的,不能成为一个整体

在JS中表示一个人的信息

对象分为 三类

1.内置对象由ES标准中定义,在仍和的ES的实现中都可以使用

2.宿主对象 由ES的运行环境提供的对象,主要来讲由浏览器提供的对象 (BOM,DOM)

3.自定义对象 由开发人员自己创建的对象

使用关键字new调用的函数,是构造函数

构造函数是专门用来创建对象的函数

如果读取对象中没有的属性不会报错,会报undifined

基本数据类型和引用数据类型的区别

如果一个变量给一个变量赋值 如果前面那个变量改变再来打印变量,如果是基本数据类型,则后面这个不会改变

如果是引用数据类型 那么如果一个变量改变那么其他一个变量也跟着改变。

这就是原始值和应用值储存的地方不一样。

就是堆(引用值)和栈(原始值)的问题

栈内存

值与值之间是独立存在的,修改一个变量不会影响到其他的值

 

开辟了内存就一定会有内存地址

然后给变量赋值就等于链接堆内存里面的地址(也就是对象的一个引用)。

如果两个变量保存的是同一个地址属性 ,那么值会随着一起改变。

作用域

作用域指一个变量的作用范围

全局作用域:在页面打开时创建,在页面关闭时销毁,在全局作用域中有一个全局对象window。它代表的时一个浏览器的窗口,他由浏览器创建我们可以直接使用

在全局作用域中

创建的变量都会作为window对象的属性保存

创建的函数都会作为window对象的方法保存

2.函数作用域

变量的声明提前

使用var关键字声明的变量 会在所有的代码执行之前被声明(但是不会被赋值)

 但是如果声明变量不使用var关键字 则变量不会被声明提前

 

函数声明提前 

使用函数声明形式创建的函数 会在所有代码执行之前被创建 所以我们可以在函数声明前调用函数。

使用函数表达式创建的函数,只是先被声明而没有被赋值,所以会报错。

 

函数作用域

全局的一个个的部分 

调用函数时创建函数作用域,函数执行完毕之后,函数作用域销毁

每调用一次函数,函数就会创建一个新的函数作用域,她们之间时相互独立的

在函数作用域中可以访问到全局作用域的变量,在全局作用域中无法访问到函数作用域的变量

当在函数作用域中操作一个变量时,如果自己有就先找自己的,自己没有再往上找(找上一级的)。直到找到全局作用域

如果全局作用域依然没有找到,就会报错。

在函数作用域中也有声明提前的特性,使用var关键字声明的变量,会在函数中所有代码执行之前被声明

函数声明也可以在函数中所有代码执行之前被调用。

在函数中 不使用var声明的变量都是属于全局的。

this

解析器在调用函数每次都会向函数内部传递一个隐含的参数

这个隐含的参数就是this ,这个this指向的是一个对象,这个对象我们成为执行函数上下文对象

根据我们调用的方式不用,this会指向不用的对象。

调用方式:

1.函数方式调用 this永远是指window。

2.以方法的方式调用,this指的就是调用方法的这个对象。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值