你不知道的JavaScript——上下文规则

contine foo 并不是指“跳转到标签 foo 所在位置继续执行”,而是“执行 foo 循环的下一轮循环”。所以这里的 foo 并非 goto。 上例中 continue 跳过了循环 3 1,continue foo(带标签的循环跳转,labeled-loop jump) 跳过了循...

2018-09-23 22:44:32

阅读数 32

评论数 0

你不知道的JavaScript——do表达式和eval()

ES7 规范有一项“do 表达式”(do expression)提案,但是具体的用例和语法还没有广泛使用,所以这里只作提及,类似下面这样: var a, b; a = do { if (true) { b = 4 + 38; } }; a; // 42 上例中,do { ...

2018-09-23 10:06:05

阅读数 232

评论数 0

你不知道的JavaScript——严格相等和宽松相等

宽松相等(loose equals)== 和严格相等(strict equals)=== 都用来判断两个值是否“相 等”,但是它们之间有一个很重要的区别,特别是在判断条件上。 常见的误区是“== 检查值是否相等,=== 检查值和类型是否相等”。听起来蛮有道理,然而 还不够准确。   正确的解释...

2018-09-22 20:32:56

阅读数 64

评论数 0

你不知道的JavaScript——toString、toNumber、toBoolean

数组的toString()方法默认把所有的单元字符串化了以后再用逗号,连接起来。 JSON 字符串化 工具函数 JSON.stringify(..) 在将 JSON 对象序列化为字符串时也用到了 ToString。 所有安全的 JSON 值(JSON-safe)都可以使用 JSON.s...

2018-09-20 20:06:35

阅读数 162

评论数 0

你不知道的JavaScript —— 基本类型

null类型只有一个值null,undefined类型也只有一个值undefined。 所有的变量在赋值之前默认值都undefined,void运算符的返回值也是undefined。 数字类型有几个特殊的值,包括NaN(指的是无效的数字、+Infinity、-Infinity、-0)。 简单...

2018-09-20 10:40:43

阅读数 56

评论数 0

你不知道的JavaScript(中) -- 数组和数值

在JavaScript编程语言中,赋值和参数传递可以通过值复制和引用复制来完成。但是JavaScript里面没有指针,引用的工作机制也不尽相同。 简单值如undefined、字符串、数值、null、布尔值和Symbol可以通过值复制来复制和传递。 复合值——对象(封装的对象、数组和声明...

2018-09-19 18:03:07

阅读数 36

评论数 0

你不知道的js -- 对象委托与类的实现

面向对象的代码设计风格:   使用对象关联后的代码:

2018-09-14 11:14:56

阅读数 91

评论数 0

你不知道的js -- 原型

JavaScript中所有的对象都有一个[[ prototype ]] 的内置属性,其实就是其他对象的引用。在你引用对象的属性时,会触发[[ GET ]]操作,会在当前的作用域里边寻找是否存在这个属性,如果没有就往上寻找。这个过程就是对象prototype的链式操作。 prototype的对象尽...

2018-09-11 21:21:15

阅读数 32

评论数 0

你不知道的js -- class构造函数

ECMAScript 2015 中引入的 JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖。类语法不会为JavaScript引入新的面向对象的继承模型。 这并不意味着JavaScript中有“类”的概念,由于类是一种设计模式。所以你可以使用一些方法近似实现累的...

2018-09-11 17:15:59

阅读数 272

评论数 0

你不知道的js -- 对象的属性描述符

看代码: 任何一个普通的对象里面,不仅仅只有一个自定义的值 ‘12’ ,它还有三个特性writable:可写的,enumerable:可枚举的,configurable:可配置的。   在创建普通属性的时候,属性描述符会使用默认值。我们也可以手动想修改。 对象和属性的不变性 ...

2018-09-09 13:01:13

阅读数 88

评论数 0

你不知道的js -- 对象

文字语法(推荐使用的方式): var obj = { key : value }; 构造形式: var obj = new Object(); obj.key = value;   对象的基本类型: ·string ·boolean ·number ·object ·nu...

2018-09-06 20:20:06

阅读数 28

评论数 0

你不知道的js -- this的箭头函数

  箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。 (参数1, 参数2, …, 参数N) => { 函数声明 } (参数1...

2018-09-06 11:30:57

阅读数 26

评论数 0

你不知道的js--this的显示绑定

显示绑定:使用call()、apply()、bind()方法进行强制绑定。   1、硬绑定            2、API调用的上下文   

2018-09-03 13:09:04

阅读数 106

评论数 0

你不知道的js第一章-with和eval

eval关键字可以接受一个字符串参数,利用这段传进来的字符串执行动态创建的代码。如果传入的参数不是字符串,那么JavaScript会返回这个参数。如果传入的参数为字符串,那么JavaScript会当做语句来执行,如果编译不通过会抛出异常。如果编译通过就开始执行这段js代码并返回最后一个表达式或语句...

2018-08-30 21:40:51

阅读数 48

评论数 0

提示
确定要删除当前文章?
取消 删除