摘要:
众所周知,innerHTML属性是在IE4引入的,很多浏览器也支持它很长一段时间,HTML5的到来才使它得以标准化。 innerHTML在MDN上的解释为: The Element.innerHTML property sets or gets the HTML syntax describing 阅读全文
摘要:
之前在知乎上看到贺老(贺师俊)在一个问题下的回答里一个问题激起了我的兴趣,原链接如下 https://www.zhihu.com/question/22504189/answer/36812048 原问题是写一个函数返回一个页面里共使用了多少种HTML tag。 这个问题乍一看好像挺复杂,刚开始以为 阅读全文
摘要:
我们知道,JavaScript语句在编译阶段会将所有函数和变量的声明进行提升,例如: 输出是undefined,因为这个代码片段会被解析成: 变量a的声明会被提升到所在作用域(即全局作用域)的顶部,函数也不例外(注意,函数表达式是不会被提升的,只有函数声明才会被提升): 这个代码片段会被解析成: 那 阅读全文
摘要:
我们知道,ES5只有函数作用域,可以利用函数来隐藏“信息”,把需要暴露的信息“最小化”,成为“最小特权原则”。 但昨天看到其实还有另一种局部变量,从ES3时代就有了,这就是catch(error)中的error变量(即错误变量)只能在catch块中访问,外面访问不到。 但在catch块内部(即花括号 阅读全文
摘要:
我们知道,所谓“词法作用域”就是按照代码书写时的样子内部函数可以访问函数外部的变量,如果函数外存在函数内所具有的同名变量,则函数内部要获取该同名变量的值会屏蔽掉函数外的同名变量(本来就是两个不同的变量,只是同名而已。另外注意,在同一个作用域是同一个变量,所以不要重复声明,否则第二个声明会被忽略)。 阅读全文
摘要:
JavaScript 阅读全文
摘要:
之前在Nicholas C.Zakas的书里见过一种叫Constructor Stealing的继承方式,这种方式可以由子类型向父类型传递参数,它的实现方式如下: 于是instance被绑定到SuperType上,于是instance复制了SuperType里的属性name,于是自身就有了name属 阅读全文
摘要:
今天天气可真冷,整双手都冻僵了,但还是抽空花点时间写下关于对象显式创建setter函数的问题。 我们知道,要访问一个对象属性都会进行 [[GET]] 操作(如果对象本身没有相关属性还会追溯原型),为对象设置值会进行 [[PUT]] 操作(如果对象存在这个属性底层的 [[PUT]] 操作会更复杂,这里 阅读全文