http://www.nczonline.net/ nicholas C.Zakas 的网站
1.将<script>扯开成</scri和pt>
<script type="text/javscript">
function sayScript(){
alert("</scri" + "pt>");
}
</script>
2.将javascript代码应用放在body页面显示的内容最后面,这样可以延迟脚本的加载,不会出现一片空白。
3、在XHTML中的用法,
不能使用 a<b中的小于号(<)在XHTML中被当做开始标签来解析。于是就要是CDATA来包含它
语法:
1、区分大小写 第一个字符为一个字母、下划线、一个美元符号
2、var message = "hi" 变量message中保存了一个字符串值为“hi”。
初始化的过程就是给变量赋一个值这么简单
var message = “hi”;
message = 100; //这段代码是有效的
3、定义变量时要使用var操作符,
var的变量是局部变量,而不加var的是全局变量
<script type="text/javascript">
function sayScript(){
var message = "hi"; //局部变量
ms = "hello"; //全局变量
}
sayScript();
alert(message); //提示message undefined
alert(ms); //“hello”
</script>
4、数据类型
5、简单数据类型::Undefined、Null、Boolean、Number、和String,还有一个复杂的数据类型---Object
typeof判断这个值的类型,typeof是操作符而不是函数,
var message = "hi" //局部变量
message = "hello" //全局变量
“undefined” 如果这个值未定义
“boolean”-布尔值
"string" -字符串
“number”-数值
“object”-对象或null
“function”-函数
1、如果message声明,但未初始化
2、age 未声明 这两种情况使用typeof得到的都是undefined
Undefined类型时只有一个值,即特殊的undefined
Null类型是第二个只有一个值的数据类型,这个特殊的值是null。
var car = null; //null空对象指针,来存放对象的
alert(typeof car); //object
实际上undefined值是派生自null值的,
alert(null == undefined); //true
ifFinite() 包括 NaN,正无穷、负无穷 包括的范围比isNaN()更大些
true和flase是区分大小写的。
永远不要尝试某一个特定浮点数值。
if( 0.1 + 0.2 == 0.3){
alert("You got 0.3");
}
0.1+0.2 = 0.30000000000000004
isFinite()函数用来判断正无穷,负无穷、或者NaN
NaN,即非数值(Not a Number),任何数值除以0会返回NaN。
其次,NaN与任何值都不相等,包括NaN本身。
alert(NaN == NaN ); //false
三个函数可以把非数值转换成数值:
Number() 用于任何数据类型
parseInt()
parseFloat() 字符串转换成数值
Number()和parseInt()的主要区别所在
var num3 = Number(""); // 0 var num3 = parseInt(""); // NaN
var num1 = Number("1234Blue") //NaN var num2 = parseInt("1234blue"); //1234
var num3 = Number(22.5) //22.5 var num3 = parseInt(22.5); //22
var num4 = Number("070") //70(忽略前导零) var num4 = parseInt("070"); //56 (八进制数)
alert(Number(null)); //0 alert(parseInt(null)); //NaN
var num3 = Number("0xA"); // 10 这个两个相等 var num3 = parseInt("0xA"); //10
null ---》 Boolean转换成false
---》Number转换成 0
var f = 1.1;
f--; //值变成 0.1000000000000009
二进制按位非(Not)
var num1 = 25; //16+8+1 0000000000011001
var num2 = ~num1; // 1111111111100110
alert(num2); // 转换成负数绝对值 (1111111111100110-1) 之后再取反码 得到0000000000011010,于是就是- 0000000000011010
逻辑与(&&)
var o1 = {
valueOf: function(){
return -1;
},
toString: function(){
return "对象";
}
}
var o2 = {
toString: function(){
return "对象";
}
}
var num = 1;
var flag = true;
alert(o1&&num); //1
alert(flag&&o1); //对象,调用了toString方法。
alert(num+o1); // 0 优先调用了o1的valueOf方法,然后再调用o1的toString()方法
alert(num+o2); // 1对象 优先调用了o1的valueOf方法,然后再调用o1的toString()方法
对象的valueOf和toString方法:
在数值运算中,优先调用了valueOf,然后再考虑调用toString放;字符串运算中,优先调用了toString。
var result = "23" < "3"; //true
var result = "23" < 3 ; //false
var result = "a" < 3; //false, 因为”a“被转换成了NaN
var result = NaN <3 ; //false;
var result = NaN >= 3; //false
with语句的作用就是将代码的作用域设置到一个特定的对象中。
with(expression) statement
1.将<script>扯开成</scri和pt>
<script type="text/javscript">
function sayScript(){
alert("</scri" + "pt>");
}
</script>
2.将javascript代码应用放在body页面显示的内容最后面,这样可以延迟脚本的加载,不会出现一片空白。
3、在XHTML中的用法,
不能使用 a<b中的小于号(<)在XHTML中被当做开始标签来解析。于是就要是CDATA来包含它
语法:
1、区分大小写 第一个字符为一个字母、下划线、一个美元符号
2、var message = "hi" 变量message中保存了一个字符串值为“hi”。
初始化的过程就是给变量赋一个值这么简单
var message = “hi”;
message = 100; //这段代码是有效的
3、定义变量时要使用var操作符,
var的变量是局部变量,而不加var的是全局变量
<script type="text/javascript">
function sayScript(){
var message = "hi"; //局部变量
ms = "hello"; //全局变量
}
sayScript();
alert(message); //提示message undefined
alert(ms); //“hello”
</script>
4、数据类型
5、简单数据类型::Undefined、Null、Boolean、Number、和String,还有一个复杂的数据类型---Object
typeof判断这个值的类型,typeof是操作符而不是函数,
var message = "hi" //局部变量
message = "hello" //全局变量
“undefined” 如果这个值未定义
“boolean”-布尔值
"string" -字符串
“number”-数值
“object”-对象或null
“function”-函数
1、如果message声明,但未初始化
2、age 未声明 这两种情况使用typeof得到的都是undefined
Undefined类型时只有一个值,即特殊的undefined
Null类型是第二个只有一个值的数据类型,这个特殊的值是null。
var car = null; //null空对象指针,来存放对象的
alert(typeof car); //object
实际上undefined值是派生自null值的,
alert(null == undefined); //true
ifFinite() 包括 NaN,正无穷、负无穷 包括的范围比isNaN()更大些
true和flase是区分大小写的。
永远不要尝试某一个特定浮点数值。
if( 0.1 + 0.2 == 0.3){
alert("You got 0.3");
}
0.1+0.2 = 0.30000000000000004
isFinite()函数用来判断正无穷,负无穷、或者NaN
NaN,即非数值(Not a Number),任何数值除以0会返回NaN。
其次,NaN与任何值都不相等,包括NaN本身。
alert(NaN == NaN ); //false
三个函数可以把非数值转换成数值:
Number() 用于任何数据类型
parseInt()
parseFloat() 字符串转换成数值
Number()和parseInt()的主要区别所在
var num3 = Number(""); // 0 var num3 = parseInt(""); // NaN
var num1 = Number("1234Blue") //NaN var num2 = parseInt("1234blue"); //1234
var num3 = Number(22.5) //22.5 var num3 = parseInt(22.5); //22
var num4 = Number("070") //70(忽略前导零) var num4 = parseInt("070"); //56 (八进制数)
alert(Number(null)); //0 alert(parseInt(null)); //NaN
var num3 = Number("0xA"); // 10 这个两个相等 var num3 = parseInt("0xA"); //10
null ---》 Boolean转换成false
---》Number转换成 0
var f = 1.1;
f--; //值变成 0.1000000000000009
二进制按位非(Not)
var num1 = 25; //16+8+1 0000000000011001
var num2 = ~num1; // 1111111111100110
alert(num2); // 转换成负数绝对值 (1111111111100110-1) 之后再取反码 得到0000000000011010,于是就是- 0000000000011010
逻辑与(&&)
var o1 = {
valueOf: function(){
return -1;
},
toString: function(){
return "对象";
}
}
var o2 = {
toString: function(){
return "对象";
}
}
var num = 1;
var flag = true;
alert(o1&&num); //1
alert(flag&&o1); //对象,调用了toString方法。
alert(num+o1); // 0 优先调用了o1的valueOf方法,然后再调用o1的toString()方法
alert(num+o2); // 1对象 优先调用了o1的valueOf方法,然后再调用o1的toString()方法
对象的valueOf和toString方法:
在数值运算中,优先调用了valueOf,然后再考虑调用toString放;字符串运算中,优先调用了toString。
var result = "23" < "3"; //true
var result = "23" < 3 ; //false
var result = "a" < 3; //false, 因为”a“被转换成了NaN
var result = NaN <3 ; //false;
var result = NaN >= 3; //false
with语句的作用就是将代码的作用域设置到一个特定的对象中。
with(expression) statement