你的位置:首页 > Java教程

[Java教程]重温Javascript第一章


一.script标签

script标签有6个属性,其中一个废弃,五个可选。

按照传统的写法,<script>的标签都是放在<head>元素中,但是在<head>中包含所有的javascript的文件,也就意味着要在所有的javascript的代码被下载,解析和执行后才能呈现页面的内容。

所以现在的大多推荐把javascript写在</body>的前面。在页面内容呈现完之后再读javascript代码。

PS:当然还是写在头部也能实现这个功能,我们要用到script中一直被我们忽略的属性"defer"。写成这样<script defer="defer"></script> 就行。这样页面就会在遇到</html>标签后才开始执行<script>元素。!重点:defer 属性只能用于外部脚本。同时代码中不要出现"</script>"这样的字符串,否则会加载错误。

 

二.数据类型

ECMAScript中有5种基本数据类型:Undefined、Null、Number、Boolean、String。还有一种复杂的数据类型Object

其中Undefined,Null都是只有一个值的数据类型。

实际上undefined值是派生自null值的,所以

1 alert(null == undefined); // ture

但是null的用处比undefined要多点,在定义一个变量准备保存对象时,最好将变量初始化为null值。因为从逻辑上来讲,null是一个空对戏那个指针!

 

1 var temp = null;2 alert(typeof temp); // object

Boolean类型就没什么好说的了,注意true,false大小写问题,大写的不识别!

Number类型:

有个深坑。。注意:浮点数的最高精度为17位,但是在计算过程中精确度远远不及整数。所以0.1+0.2 ==0.3 是错误的。它是0.30000000000000004. 所以永远不要测试某个特定浮点数的值!

NaN是一个特殊的数值,它与任何数都不相等,包括它本身。任何涉及它的操作都会是NaN 例如NaN/2返回NaN.

String 有一个点,就是它有个length属性,可以返回字符串的长度 ,空格也包括。

var str = "this a str"alert(str.length) // 输出的是10

 还有就是字符串的拼接,用+号来拼接。字符串是不可变的,字符串一旦创建,它的值就是不变的。通过+号拼接的时候是重新生成了新的字符串,旧的被销毁了。

Object类型:

ECMAScript中的对象就是一组数据和功能的集合,关于对象 我写过一篇初级的创建对象的细节.这里就不细讲了

Object几个属性很重要:

constructor:这个是保存用于创建当前对象的函数 Ps: 构造函数就是Object  创建对象的方法就有构造函数创建法。

hasOwnProperty : 判断属性是否在对象的实例中,而不是在原型中。Ps:原型的问题,建议去看原型链的图,很通俗。

isPrototypeOf(Object):检查这个传入的对象是否是当前对象的原型。

toString(),valueOf(): 前一个返回对象的字符串表示。后一个返回字符串,数值或布尔值表示。它们通常返回的是一样的。

还有一些不常用的,就不说了。

以后再讲对象。