谈一谈 JS 严格模式 布满荆棘的人生 2022-10-23 12:57 128阅读 0赞 ### 目录 ### * * * 谈一谈 JS 严格模式 * 谈一谈 JSON 对象 * XML 和 HTML 区别 * 谈一谈 Object.create() * 谈一谈存取器属性 getter 和 setter,并书写案例说明使用方法 * 谈一谈 let 和 const ### 谈一谈 JS 严格模式 ### 1. 什么是严格模式? 1. 除了正常运行模式(混杂模式),ES5 添加了第二种运行模式:“严格模式”(strict mode)。 2. 这种模式使得`JavaScript`在更严格的语法条件下运行。 2. 怎么使用? 在全局或函数的第一条语句定义为: `'use strict'`, 将 `"use strict"` 放在函数体的第一行,则整个函数以"严格模式运行"。 3. 特点: 1. 变量必须声明才能使用。 2. 禁止自定义的函数中的`this`指向`window`。 3. 创建`eval`作用域。 ### 谈一谈 JSON 对象 ### 1. `JSON`是一种轻量级的数据交换格式。`JSON` 与 `XML` 具有相同的特性,是一种数据存储格式,但是`JSON`相比`XML`更易于人编写和阅读,更易于生成和解析。 2. JSON 的优点: 1. `JSON`更小,相同的数据量,文件 `size` 比 `XML` 小。 2. 更快,读写的速度比`XML`快。 3. 更容易解析,因为`json`的格式与`JavaScript`的格式类似,所以将`json`转化为`js`可读的格式的时候更加容易。 3. JSON 对象的两个方法: 1. `JSON.stringify(obj/arr)` js 对象(数组) --> 转换为`json`对象(数组)(字符串类型)。 2. `JSON.parse(json)` json对象(数组)(字符串类型) --> 转换为js对象(数组)。 ### XML 和 HTML 区别 ### 1. HTML 是超文本标记语言,用于创建网页和 Web 应用程序,它用于显示数据,而不是传输数据,其焦点是数据的外观。 2. XML是可扩展标记语言,用于传输和保存数据而不是用于显示数据。其焦点是数据的内容。 ### 谈一谈 Object.create() ### 1. 创建一个对象的第三种方法,可以指定对象原型(`__proto__`)和对象属性的描述。 2. 使用: 1. 参数1:对象的隐式原型指向。 2. 参数2:对象的属性及属性的描述。 3. 属性的描述: 1. value: 指定属性值。 2. writable: 默认为 false, 设置属性值是否可写。 3. enumerable: 默认为 false, 设置属性是否可枚举( for/in)。 4. configurable: 默认为 false, 设置是否可修改属性特性和删除属性。 4. Object.defineProperty 方法 可以为对象添加属性,或者修改现有属性。 5. Object.defineProperties 方法 可以一次定义多个属性。 ### 谈一谈存取器属性 getter 和 setter,并书写案例说明使用方法 ### 1. `get propertyName(){}` 用来得到当前属性值的回调函数。 2. `set propertyName(){}` 用来监视当前属性值变化的回调函数。 案例: get fullName() { }, set fullName(data) { } } getter: p.fullName setter: p.fullName = "XXX" defineProperty(p,"fullName",{ get (){ }, set(){ } }) ### 谈一谈 let 和 const ### 1. 函数作用域和块作用域: 1. 函数作用域: 在 ES5 中, JS 的作用域分为全局作用域和局部作用域。通常是用函数区分的,函数内部属于局部作用域 2. 块级作用域: 1. 使用`{}`扩起来的区域叫做代码块,一个代码块构成一个块级作用域。 2. 想要让块级作用域生效,则使用`let`或`const`来声明一个变量或常量,这个变量或常量就是块级作用域的生效原因。 3. 多个块级作用域嵌套,也是要构成作用域链。 2. let 特点: 1. let 声明的变量 不能重复声明 否则会报错。 2. 没有声明提升。 3. const 特点: 1. 不能给常量赋值(如果是对象,只要不改变地址即可,可以修改对象中的内容)。 2. 常量声明必须赋值。 3. 常量也是块级作用域生效。 4. 常量不能提升。 5. 常量不能重复声明。 6. 全局的常量和 let 声明的变量都不再是 window 对象的属性和方法了。
还没有评论,来说两句吧...