分类 "JS&HTML" 的存档.

JavaScript 自定义对象的constructor属性有用吗?

前面的文章我们提到过每个实例化的对象都有一个指向其构造函数的constructor属性。但是这个属性真的有用吗?

看JavaScript类式继承的时候,都会将子类prototype对象的constructor属性给修正回来,但是修正回来的意义何在呢?实在找不出来有何地方需要这个属性。
阅读更多…

JavaScript Creating Objects — The Constructor Pattern

使用工厂模式创建的JavaScript对象类,总是感觉在语义上有些不爽,不像那些使用构造函数方式,用new运算符创建对象那样正规,有点不走寻常路的感觉。

所以,今天我们就来谈一谈创建JavaScript类的另一个方法——The Constructor Pattern。
阅读更多…

JavaScript Creating Objects — The Factory Pattern

本文,参考自NC的《JavaScript 高级程序设计 第二版》。

在JavaScript中,创建对象的最简单方法就是去 new 一个 Object 对象的实例,并给它添加属性和方法。早期的JavaScript工程师,经常使用这种方式创建JavaScript对象。例如:
阅读更多…

JavaScript 本地对象、内置对象、宿主对象

一直也搞不清“本地对象”、“内置对象”和“宿主对象”在JavaScript中到底谁是谁。分不清其中的关系,总是在自以为自己明悟了的时候发现自己其实一点都不清楚。-_-!!!
阅读更多…

JavaScript 传递参数是值传递?还是值传递啊?

本文摘自:李松峰老师 翻译的 《JavaScript 高级程序设计 第二版》

在本文开头,首先,十万以及万分肯定的说一句,JavaScript 函数传递参数时,是值传递。虽然您可能不信,因为ECMAScript 变量可能包含两种不同数据类型的值:基本数据类型,和引用数据类型。难道引用数据类型传递的时候难道也是值传递吗?答,没错。
阅读更多…

浏览器的盒子模型 Box Model

盒子模型(Box Mode)是CSS中一个重要的概念,对于网页中的大部分对象,实际呈现形式都是一个盒子形状对象,理解了盒子模型才能更好的排版。对于盒子,我们最关心的就是盒子的尺寸:丫的要占多大地皮?

其实盒子模型有两种,分别是 IE 盒子模型和标准 W3C 盒子模型,他们对盒子模型的解释各不相同,简单理解一下,方便我们了解为何IE这么让人痛苦,为何要为IE写一堆HOCK。这里再顺便鄙视一下,IE总是与标准对着干。
阅读更多…

JavaScript 数据类型转换之——Boolean类型

本文摘自:李松峰老师 翻译的 《JavaScript 高级程序设计 第二版》

在JavaScript中,可以对任意类型的值调用 Boolean() 函数,以将该值转为对应的 Boolean 值。虽然 Boolean 类型的字面值只有两个(true and false),但是 ECMAScript 中所有类型的值都有与这两个 Boolean 字面值等价的值。

下表给出了各种数据类型及其对应的转换规则:
阅读更多…

JavaScript cookie与domain

在使用JavaScript设置cookie时,懒的时候经常忘记设置domain,但是昨天就遇到了一个奇怪的问题。

同名的 cookie,不同的 domain 或不同的 path,属不同的 cookie;
同名的 cookie,相同的 domain 且相同的 path,不同的 expires,属同一个 cookie。

阅读更多…

document.documentElement

看《JavaScript 高级程序设计》书中有 document.documentElement 这样的用法,看文章内容说是获取 <html/> 元素。不过从来没这么用过,简单写了个程序验证了一下。
阅读更多…

遇到 </script> 要小心再小心

在页面中动态地引入外部 JavaScript 文件的方法有很多,其中之一就是使用 document.write 来直接输出。虽然用的人不多,但是偶尔应个急还是可以的。

但是在使用 document.write 输出的 script 块(</script>)时,一定要小心再小心。甚至只要在js里有用到</script>标签就要小心,小心什么?您且往下看:
阅读更多…