javascrip学习扎记
一. javacript的属性
html 4.0 规范不支持脚本标记中普遍使用的Language属性.它提出了Type属性.如Type="text/javascript".
只有拥有W3C DOM (比如IE5+,NN6+)性能的浏览器才支持Type属性.但它们也将一如既往的支持Language属性.
javascript的另一个常用属性SRC :指向一个脚本文件.相当于把外部脚本文档加载时来.格式如:<sript language="javascript" src="myscript.js"></script>
二. 关于javacript的位置
它通常放在<head>..</head>或<body>..</body>之间.
如果希望页面载入时运行脚本,以使脚本能生成页面内容.则最好放在<body>部分.
一个页面中对<javacript>的标记没有限制。一般动态生成的内容,放在<body>部分。而页面完全加载后的响应内容,则一般放在<head>段。
脚本的运行时间:
2.1 文档载入时。
2.2 文档载入后。
2.3 响应用户动用时。
2.4 当其它脚本语句调用它时。
三。与旧浏览器的兼容。
<script language="javascript">
<!-- 这就是脚本隐藏
//add content here
//--!>
</script>
用<!-- 和//--!>把脚本内容包括,这样在不支持javascript的浏览器上,可视它为注释,而不执行。但它并不是在html文件中完全隐藏,只是被当作注释,不执行。从意义上来说,是“ 隐藏了”。
四。javascript语法。
4.1 区分大小写。
4.2 变量是弱类型的。它无特定的类型,在定义变量时只能用var定义,可以初始化任何值。如:var tmp;不要用string tmp="15";这样会出错的。
4.3 每行语句结尾后可有分号,也可无分号。注释与C语言一致。
4.4 同一行中可以定义多个类型不同的变量。如:var test="hi" ,age=24;
4.5 关键字列表:
4.6 原始值与引用值的区别:
1. 原始值,相当于C#里面的值类型。即存放在栈中。
2. 引用值,即存放在堆中。
3。原始值只有以下几种:null,undefined,boolean,number ,string。(这里注意,这几种类型名首字母没有大写的。 即typeof(tmp)=="String" 是错误的,应该改为 typeof(tmp)=="String" 还有boolean 与bool不是等价的。bool没有这种类型)。
4.7 关于typeof的返回讨论:
1。字符串.返回 "string".
2。bool 返回 “bool”.
3。number 返回 "number".
4。引用类型或null类型 返回 “object”。
5。undefined 未初化的变量与未定义的变量(用var显示定义)默认值都为 undefined,tyoeof后也为undefined。
6。null与undefined是相等的,但含义不同。null表示还不存在的变量。undefined则表示定义了但未初始化的变量。
如果函数没有明确返回值,则返回 undefine.而当函数有返回值时,未找到对象则返回 null.
4.8 number类型,它可以表示Int32位,也可以表示Int64位.为number类型,是直接输入的(不是从另一个变量访问的)任何数字都被看作是number类型的字面量.
var num=55;
num=017;//以0开头,表示八进制.
num=0xaf; //以0x开头,表示十六进制.
但不管是十进制,还是八进制,或是十六进制,输出的值都是十进制.
number类型的几个特殊值:
number.MAX_VALUE, //最大值
number.MIN_VALUE. //最小值。
number.POSITIVE_INFINITY, //正无穷。
number.NEGATIVE_INFINITY. //负无穷。
计算结果值,可以不在最大与最小之间,但若大于最大值或是小于最小值,则为对应的无穷值。无穷值,不进行计算。
浮点数的表示:必须有包括小数点和小数点后的一位数字(如:1.0而不是1).它的有趣之处在于,在用它进行计算之前,它的存储形式是字符串。
关于浮点数的科学记数法:
如:var fnum=3.125e3 等价于 3.125x10x10x10。
var fnum=3.125-e3 == 0.003125。