为什么在原生JS中要避免使用这种可能导致问题的代码写法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计765个文字,预计阅读时间需要4分钟。
目录+块级函数+直接修改对象的prototype+原型+with+callee+caller+eval+块级函数+严格模式,在ES6之前禁止使用。ES6开始可使用,函数的作用域为声明该函数的块级作用域。非严格模式下,应避免使用。
目录
- 块级函数
- 直接修改对象的 prototype 原型
- with
- callee
- caller
- eval
块级函数
严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。
if(true) { function test() { //块级函数 console.log(1); } } test();
直接修改对象的 prototype 原型
浏览器对原型进行了优化,在调用实例之前,会为对象的方法提前规划内存位置。所以不可以直接修改 prototype 原型。
本文共计765个文字,预计阅读时间需要4分钟。
目录+块级函数+直接修改对象的prototype+原型+with+callee+caller+eval+块级函数+严格模式,在ES6之前禁止使用。ES6开始可使用,函数的作用域为声明该函数的块级作用域。非严格模式下,应避免使用。
目录
- 块级函数
- 直接修改对象的 prototype 原型
- with
- callee
- caller
- eval
块级函数
严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。
if(true) { function test() { //块级函数 console.log(1); } } test();
直接修改对象的 prototype 原型
浏览器对原型进行了优化,在调用实例之前,会为对象的方法提前规划内存位置。所以不可以直接修改 prototype 原型。

