javascript高级程序设计总结之一

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值