js 基础第六天

JavaScript 作用域

全局作用域

作用于整个代码行 在 script 标签内部 或者一个独立的js 文件
全局作用域的生命周期
声明变量后 在我们打开页面时候变量初始了,当我们关闭页面后变量才会销毁

局部作用域

作用于 函数 内的代码环境 就是局部作用域,在es5之前只有函数可以限制
局部作用域的生命周期
当函数调用了 局部变量初始化了,当这个函数调用完毕,这个局部变量就销毁了

JavaScript 中没有快机作用域

js中没有快级作用域,js的作用域:全局作用域、局部作用域、现阶段我们js没有快级作用域 ,也可以说是 在es6 之前没有
js 在es6 之后新增的快级作用域
快级作用域 {}、 if{}、 for{}

作用域链

作用域链:内部函数访问外部函数的变量,采用的是链式查找的方式来决定取那个值,这种结果我们称为作用域链 ,采用的就近原则,谁近取谁

预解析

js 引擎在运行js 时 分为两步:预解析、代码执行
1,预解析 js 引擎会把 js代码中的 var 和 function 提升到当前作用域的最前面 但不进行赋值和调用
2,代码执行 按照代码顺序依次执行
变量提升:就是把所有变量声明提到当前作用域的最前面 ,不进行赋值操在
函数提升:就是把所有函数声明提到当前作用域的最前面 ,不进行调用函数

对象

在JavaScript 中,对象是一组无序的相关属性和方法的集合,所有事物都是对象,例如字符数组,数值,函数等
对象是有属性和方法组成的
注意 函数表达式 调用函数必须在函数后面调用

创建对象的三种方式

利用字面量创建对象

var obj = {}

利用new Object创建对象

var obj = new Object

用构造函数创建对象

function Obj(name,exe){
   this.name = name,
   this.exe = exe,
}
var ldh = new Obj('刘德华','男')

注意点 构造函数 的首字母要大写

对象的使用

- 对象的属性

  • 对象中存储具体数据的 "键值对"中的 "键"称为对象的属性,即对象中存储具体数据的项

- 对象的方法

  • 对象中存储函数的 "键值对"中的 "键"称为对象的方法,即对象中存储函数的项

- 访问对象的属性

  • 对象里面的属性调用 : 对象.属性名 ,这个小点 . 就理解为“ 的 ”

  • 对象里面属性的另一种调用方式 : 对象[‘属性名’],注意方括号里面的属性必须加引号

    示例代码如下:

    console.log(star.name)     // 调用名字属性
    console.log(star['name'])  // 调用名字属性
    

- 调用对象的方法

  • 对象里面的方法调用:对象.方法名() ,注意这个方法名字后面一定加括号

    示例代码如下:

    star.sayHi();              // 调用 sayHi 方法,注意,一定不要忘记带后面的括号
    

变量、属性、函数、方法总结

属性是对象的一部分,而变量不是对象的一部分,变量是单独存储数据的容器

  • 变量:单独声明赋值,单独存在
  • 属性:对象里面的变量称为属性,不需要声明,用来描述该对象的特征

构造函数返回值问题

如果在构造函数里 用return 返回基本数据类型 ,那么构造函数会忽略这个返回值 ,返回 this

如果在狗渣函数里 用return 返回复杂数据类型, 那么狗渣函数会忽略掉 this ,返回这个 复杂数据类型

new 在执行会做的四件事

  1. 在内存中创建以更新的空对象
  2. 让 this 指向这个新对的对象
  3. 执行构造函数里面的代码。给这个新对象添加属性合和方法
  4. 返回这个新对象(所以构造函数里面不需要 return )

遍历对象

for(var k in obj){
console.log(k)
console.log(obj[k])
}

这里 k 不需要赋值 ,输出得到的是属性名
obj[k] 得到的是属性值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值