JavaScript高级程序设计读书笔记(1)

1.在html中使用Javascript

<script>标签

代码中不允许出现</script>,如下代码将会报错。

        <script type="text/javascript">
            alert("</script>");
        </script>

如果希望输出字符串时</script>,可将字符串分隔解决。

        <script type="text/javascript">
            alert("</scr"+"ipt>");
        </script>

src属性,指向外部JavaScript文件的链接。

<script type="text/javascript" src="test.js"></script>

注意:带有src属性的<script>元素不应该在其<script>和</script>标签之间再包含额外的JavaScript代码。


2.JavaScript基本语法

2.1JavaScript区分大小写。

2.2标识符

1.由字母、数字、下划线和美元符组成、不能以数字开头。

2.3注释

单行注释//

多行注释/*...*/

2.4语句

2.5关键字和保留字

2.6变量

局部变量

        <script type="text/javascript">
            function test(){
                 var message="hello";
            }
            test();
            alert(message);
        </script>

无结果输出

如果省略var则为全局变量(不推荐)

        <script type="text/javascript">
            function test(){
                 message="hello";
            }
            test();
            alert(message);
        </script>

输出:hello

2.7数据类型

JavaScript包括5中简单数据类型undefined、Null、Boolean、Number、String和1中复杂数据类型Object。

typeof运算符检测变量数据类型。

        <script type="text/javascript">
            function test(){
                  message="hello";
                  flag=true;
            }
            test();
            alert(typeof message+"..."+ typeof flag);
        </script>

结果:string...boolean
Boolean类型:所有类型的值都有与Boolean的值等价的值,要讲一个值转换为其对应的Boolean值,可以调用Boolean()函数。在控制语句中,将自动执行相应的Boolean转换。

        <script type="text/javascript">
            function test(){
                  message="hello";
                  flag=true;
            }
            test();
            if(message){
                alert(typeof message+"..."+ typeof flag);
            }
        </script>


Number类型:包括整数类型和浮点型;

整数类型有十进制、八进制、十六进制三种表现形式。

浮点型有基本表示方法,和科学计数法两种形式。

NaN(Not a Number):是一个特殊的数值。

NaN有两个特点:1.任何涉及NaN操作的都会返回NaN。2.NaN和任何值都不想等包括自身。

 

alert(NaN==NaN);//false

isNaN()函数,判断是否是不是数值。

                alert(isNaN(NaN));//true
                alert(isNaN(10));//false
                alert(isNaN("10"));//false 被转型为数值10
                alert(isNaN("abc"));//true
                alert(isNaN(true));//false 被转型为数值1

类型转换:

字符串转换为数值:

方法1.

        <script type="text/javascript">
            var num1=new Number("");
            var num2=new Number("blue");
            var num3=new Number("123trueblue");
            var num4=new Number("0001");
            alert(num1+"..."+num2+"..."+num3+"..."+num4);
        </script>

输出结果:0...NaN...NaN...1

parseInt()方法

        <script type="text/javascript">
            var num1=parseInt("");
            var num2=parseInt("blue");
            var num3=parseInt("123trueblue");
            var num4=parseInt("0001");
            var num5=parseInt("0xA");
            alert(num1+"..."+num2+"..."+num3+"..."+num4+"..."+num5);
        </script>

输出结果:NaN...NaN...123...1...10

2.8操作符(略)

2.9循环语句

while

        <script type="text/javascript">
            var sum=0,i=1;
            while(i<=100){
                sum=sum+i;
                i++;    
            }
            alert(sum);//5050
        </script>

do-while

        <script type="text/javascript">
            var sum=0,i=1;
            do{
                sum=sum+i;
                i++;    
            }while(i<=100)
            alert(sum);//5050
        </script>


fo语句(略)

for...in 迭代语句

lable语句

break语句

continue语句

switch语句

with语句

with语句的作用是将代码的作用于设置到特定的对象中。

with语句的目的主要是为了简化多次编写同一个对象的工作,如下面的例子:

            var qs=location.search.substring(1);
            var hostName=location.hostname;
            var url=location.href;

使用with语句如下

            with(location){
            var qs=search.substring(1);
            var hostName=hostname;
            var url=href;
            }

 3.函数

示例:

        <script type="text/javascript">
            function add(i,j){
                return i+j;
            }
            var result=add(3,6);
            alert(result);    
        </script>

JavaScript中参数在内部使用一个数组来表示的,因此函数不会介意传递进来多少个参数,也不在乎传进来什么参数类型。

上面的代码可修改为

    <script type="text/javascript">
            function add(){
                return arguments[0]+arguments[1];
            }
            var result= add(3,6);
            alert(result);
        </script>

所以在Javascript中参数是可选的。


函数没有重载形式

 

        <script type="text/javascript">
            function add(){
                return arguments[0]+100;
            }
            function add(){
                return arguments[0]+200;
            }
            var result= add(100);//300
            alert(result);
        </script>

 

 

 

posted @ 2012-08-24 22:40  Carve_Time  阅读(181)  评论(0编辑  收藏  举报