JavaScript高级程序设计学习总结一(基本概念总结)

来源:互联网 发布:本地yum安装xwindows 编辑:程序博客网 时间:2024/05/22 02:25

JavaScript的三部分:核心ECMAScript ;文档对象模型DOM;浏览器对象模型BOM。

浏览器是ECMAScript实现可能的宿主环境。

宿主环境不仅提供基本的ECMAScript,同时提供该语言的扩展。

JavaScript数据类型: typeof检测变量类型 ;Undefined未初始化的 ;NULL(用typeof检测是object类型);Boolean ;Number;String ;Object 。

注意:

1. 在任何情况下都不用显示的设置Undefined,但是如果变量没有保存对象就应该明确保存NULL

2. Bolean的字面值true 和false是区分大小写的,True 和False是标识符。

3. 所有的类型都有Boolean 对应的值。

4. Number中八进制和十六进制超出自己范围的时候按照十进制处理。例如:

    var num1 = 070//八进制的56

    var num2 = 079//无效的八进制,解析为79

5.   永远不要测试某个特定的浮点数值 。例如:0.1+0.2 ==0.3这样永远不能通过测试

6. Infinity 是不能参加运算的。

7. Number中的非数值转换为数值的函数有Number()、parseInt()、parseFloat()。其中Number()用于任何数据类型,但是转换有些不够合理,相比parseInt()、parseFloat()是

    专门对数字的处理,两者都是要求第一个数值必须是数字,从数字开始到出现一个非数字结束。

8. ECMAScript中的字符串是不可变的,例如:

     var lang = “java”;

     lang = lang + “script”;

     操作:首先创建有10个字符的新字符串,然后填充,最后把字符串“java ”“script”销毁。

9. 转换字符串两种方法:toString()和String()

10.  ECMAScript 的Object中,如果不给构造函数传递参数,则可以省略后面的圆括号 , var o =new Object;

11.  Object每个实例都有下列属性和方法:

       constructor 保存用于创建对象的函数

       hasOwnProperty(propertyName)属性在不在实例中

       isPropertyOf(object)传入对象是不是另一对象的原型

       propertyIsEnumerable(propertyName)检查给的属性可否进行for-in 语句枚举

       toString()

       valueof()

 

label语句:在代码中添加标签

        用法:label:statement

        例子:start: for(var i =0 ; i< count ;i++)

                    alert(i);

        加标签的语句一般都和for一起使用

 

 

函数:

   FunctionfunctionName(arg0 ,arg1, ard2  ){

        Statements  

    }

   函数定义是不用指出返回类型。但是在函数中有return语句,执行完返回一个值,并且函数立即结束,不执行之后的代码。

   函数参数不介意传递多少,也不在乎传递什么类型的,因为参数在内部是用一个数组来表示的,不管多少参数都只有一个数组,而不关心数组有哪些参数,实际上函数通过 

    arguments对象访问函数数组,从而获取函数的参数arguments[0],arguments[1],arguments[2]。

    function sayHi(){

        alert (“hello”+arguments[0]+ arguments[1])

    }

    sayHi(“richard”,”hi”);

   命名的参数提供便利,但是不是必须的。使用arguments.length可以知道有多少参数传递。

   ECMAScript中是没有重载函数的,因为没有函数签名,参数是包括零或多个值的数组表示的。如果定义两个名字一样的函数,则改名字属于后定义的函数

 

 理解ECMAScript复杂的细节是理解其在web中JAVAScript的关键。

 

 

 

原创粉丝点击