美文网首页
JS 高级技巧

JS 高级技巧

作者: 怡宝丶 | 来源:发表于2018-06-22 10:45 被阅读0次

安全类型检查

typeof 检测类型机制并非完全可靠,所以直接使用 Object.prototype.toString.call(val)


作用域安全的构造函数

  • 构造函数其实就是一个使用的了new操作符调用的函数, 当使用了new操作符时候,构造函数内部用到的this都指向了新创建的对象实例。
  • 如果不使用new操作符直接调用定义的构造函数,那么this就指向了window, 这是由于js的晚绑定造成的

    所谓 绑定(binding),即把对象的接口与对象实例结合在一起的方法。
    早绑定(early binding)是指在实例化对象之前定义它的属性和方法,这样编译器或解释程序就能够提前转换机器代码。在 Java 和 Visual Basic 这样的语言中,有了早绑定,就可以在开发环境中使用 IntelliSense(即给开发者提供对象中属性和方法列表的功能)。ECMAScript 不是强类型语言,所以不支持早绑定。
    另一方面,晚绑定(late binding)指的是编译器或解释程序在运行前,不知道对象的类型。使用晚绑定,无需检查对象的类型,只需检查对象是否支持属性和方法即可。ECMAScript 中的所有变量都采用晚绑定方法。这样就允许执行大量的对象操作,而无任何惩罚。

function Person (name) {
  if(this instanceof Person) { //检查this对象是Person的一个实例
      this.name = name;
   } else {
      return new Person (name)
  }
}

相关文章

  • JS------数组 reduce() 方法详解及高级技巧

    JS进阶篇--JS数组reduce()方法详解及高级技巧

  • 正则表达式

    JS高级技巧 本篇是看的《JS高级程序设计》第23章《高级技巧》做的读书分享。本篇按照书里的思路根据自己的理解和经...

  • JS 高级技巧

    安全类型检查 typeof 检测类型机制并非完全可靠,所以直接使用 Object.prototype.toStri...

  • JS高级技巧

    文章来源地址:https://juejin.im/post/59ab7b36f265da24934b2470;

  • js 高级技巧

    惰性载入函数 函数绑定 bind函数简单实现(还有更高级的封装,这里不多做介绍,只写最核心的几句) 函数柯里化//...

  • JS - 高级技巧(1)

    安全数据类型监测 typeof : 由于一些无法预知的情况, 用这种方式会得到不靠谱的结果。instanceof ...

  • JS数组reduce()方法详解及高级技巧

    JS数组reduce()方法详解及高级技巧https://www.jianshu.com/p/e375ba1cfc...

  • iOS核心动画高级技巧 - 8

    iOS核心动画高级技巧 - 1iOS核心动画高级技巧 - 2iOS核心动画高级技巧 - 3iOS核心动画高级技巧 ...

  • JS学习20(高级技巧)

    高级函数 函数本质上是很简单且过程化的,但是由于JS天生的动态的特性,从使用方式上可以很复杂。 安全的类型检测 虽...

  • 最新web前端相关课程学习链接

    js基础篇 js进阶篇 js高级篇 vue基础篇 vue高级篇 react基础 react高级 Nodejs基础 ...

网友评论

      本文标题:JS 高级技巧

      本文链接:https://www.haomeiwen.com/subject/aeohyftx.html