原生JS中哪些写法是应该避免的?

更新于
2026-09-26 11:47:40
0阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计774个文字,预计阅读时间需要4分钟。

原生JS中哪些写法是应该避免的?

目录 + 块级函数 + 直接修改对象的 prototype + 原型 + with + callee + caller + eval + 块级函数 + 严格模式,ES6 之前禁止使用。ES6 开始可用,函数的作用域为声明该函数的块级作用域。非严格模式下,应避免使用。

目录
  • 块级函数
  • 直接修改对象的 prototype 原型
  • with
  • callee
  • caller
  • eval

块级函数

严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。

if(true) { function test() { //块级函数 console.log(1); } } test();

直接修改对象的 prototype 原型

浏览器对原型进行了优化,在调用实例之前,会为对象的方法提前规划内存位置。所以不可以直接修改 prototype 原型。

阅读全文

本文共计774个文字,预计阅读时间需要4分钟。

原生JS中哪些写法是应该避免的?

目录 + 块级函数 + 直接修改对象的 prototype + 原型 + with + callee + caller + eval + 块级函数 + 严格模式,ES6 之前禁止使用。ES6 开始可用,函数的作用域为声明该函数的块级作用域。非严格模式下,应避免使用。

目录
  • 块级函数
  • 直接修改对象的 prototype 原型
  • with
  • callee
  • caller
  • eval

块级函数

严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。

if(true) { function test() { //块级函数 console.log(1); } } test();

直接修改对象的 prototype 原型

浏览器对原型进行了优化,在调用实例之前,会为对象的方法提前规划内存位置。所以不可以直接修改 prototype 原型。

阅读全文