上一篇(JavaScript中你所不知道的Object(一))说到,Object对象有大量的内部属性,而其中多数和外部属性的操作有关.最后留了个悬念,就是Boolean.Date.Number.String.Function等有更多的内部属性,而它们分别是什么呢? 这些内部属性不能像Object的内部属性一样一言以蔽之,因为它们各有各的用处和特点.其中核心的部分自然是最特殊的对象,Function对象.我们先从简单的开始: [[PrimitiveValue]]: 值的类型是基础数据类型.所以所有…
overflow:hidden 你所不知道的事 overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解. 一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的.但是对于“浮动”这个词到底包含什么样的含义呢?我们下面来详细的阐述一下. <div id="wai"> <div id="nei">…
说完了对象那些不常用的冷知识,是时候来看看JavaScript中对象属性有哪些有意思的东西了. 不出你所料,对象属性自然也有其相应的特征属性,但是这个话题有点复杂,让我们先从简单的说起,对象属性的分类. 面对一个复杂的事物,寻找其内在共性,妥善分类往往是快速认知该事物的捷径,这与程序员"将难以解决的大问题拆解为可以解决的小问题"的思维有异曲同工之妙. 那么,对象的属性根据不同的维度,可以如何分类呢?你或许想不到,竟然有如此多的分类方法,而不同的类别,有牵扯出特定的方法解决这一类别的某些…
这篇博文的主要目的是为了填坑,很久之前我发表了一篇名为关于JavaScript对象中的一切(一) - 对象属性的文章,想要谈一谈JavaScript对象,可那时只是贴了一张关于这个主题的思维导图,今天我会针对这一主题进行展开,将JavaScript对象一些平常不太常用的知识系统的整理出来,方便阅读者的记忆与理解.在看完本篇文章后,你大可跳转回这篇博文,并保存思维导图,以加强记忆. 对于对象的一般认识 在开始正题之前,让我们先凭直觉回忆一下我们对JavaScript对象的一般认识: 对象是一个引用…
Object实在是JavaScript中很基础的东西了,在工作中,它只有那么贫瘠的几个用法,让人感觉不过尔尔,但是我们真的了解它吗? 1. 当我们习惯用 var a = { name: 'tarol', age: 18 }; console.log(a.age); a.age = 19; console.log(a.age); 初始化和访问对象的时候,谁会在意这种方式也是合法的: var a = { name: 'tarol', _age: 18, set age(value) { this._…
NaN表示一个不能产生正常结果的运算结果.它不等于任何值,包括它自己.可以用isNaN(number)来检测. 同Java中的字符串一样,JS中的字符串是不可变的.也就是说一旦字符串被创建,就无法改变.下标表达式(如s[3],代替s.charAt(3))可以读取字符,但是不能用于改变字符. null,undefined,空字符串'',0,NaN被当做false,其余的值(包括"false")或对象都被当做true.所谓的“被当做”并不是说这些值就是布尔值true,例如true==&qu…
版权声明:本文为博主原创文章,未经博主允许不得转载. 如果问一个码农最先接触到的设计模式是什么,单例设计模式一定最差也是“之一”. 单例,Singleton,保证内存中只有一份实例对象存在. 问:为什么要有单例? 答:此对象可能会为成千上百的线程所用,当然不希望不希望每次使用都要new一个新的 对象,也可能是使用不多但是初始化需要消耗大量内存,也可能需要消耗大量cpu运算,又可能仅仅是为了为实例内进行数据管理同步.总之,单例只希望初始化 一遍,且唯一存在,在实际开发中所用甚多. 问:单例既然只存…
微信5.4新增包括搜索公众号.识别图中二维码.面对面收钱等功能,但是你可知道新版微信X5浏览引擎提速了,提升50%-80%的网络传输速度及相同比例流量节省? 从X5浏览引擎开发人员得知,X5浏览技术基于对Webkit的深度优化,通过后台云加速及动态路由功能,可提升50%-80%的网络传输速度及相 同比例流量节省.新版微信依靠X5浏览技术,将用户每次点开网页链接的平均时间从5秒左右压缩至3秒以内,最快仅需1秒,加载速度明显提高. 而在流量节省方面给用户带来的利益感观更加明显.根据专业人士分析,每个…
1.数组 在 JavaScript 中,数组可以容纳任何类型的值,可以是字符串.数字.对象(object),甚至是其他数组(多维数组就是通过这种方式来实现的) .----<你所不知道的JavaScript(中)>P11 看看下面的代码: var a = [ 1, "2", [3] ]; a.length; a[0] === 1; // true a[2][0] === 3; // true var b = [ ]; b.length; b[0] = 1; b[1] = &q…
ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型等. 1.内置类型 JavaScript 有七种内置类型: • 空值(null) • 未定义(undefined) • 布尔值(boolean) • 数字(number) • 字符串(string) • 对象(object) • 符号(symbol, ES6 中新增) 除对象之外,其他统称为“基本类型”. 对象称为“引用类型”. 我们可以用 typeof 运算符来查看值的类型,它返回的是类型…