javascript核心部分

来源:互联网 发布:淘宝买了个传奇单机版 编辑:程序博客网 时间:2024/05/03 23:11

以前也曾经零星的用过javascript,但都只是很简单的现学现用。系统的学习Javascript是最近一个月的事,由于事情比较杂,直到现在,才算把javascript的核心部分算是浓清楚了。争取在这周再把客户端javascript全部搞完。
上javascript是比较灵活方便的脚本语言,所以很多其他编成语言的经验在javascript中都可以直接用,这里并不准备系统的复述javascript的整个体系。而是就javascript于其它语言(尤其是非脚本语言)的不同,个人学习中的困惑和心得,进行简单记述。
一、javascript语法结构
js程序是采用Unicoade字符集--ECMA scriptV3允许Unicaode字符出现在任何地方,而之前的只允许出现在注释或引号内的串中。
js程序是大小写敏感的,除此外书写自由,语句末的分号都可以省略(作为良好的习惯,建议不要省略句末分号)。
js中字符串可以用""(双引号)包覆,也可以用''(单引号包覆)。
二、javascript中的特殊数值常量
Infinity, NaN, Number.MAX_VALUE, Number.MIN_VALUE, Number.NaN, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY
三、javascript中变量及作用域
js中,除了在函数中使用var生命的变量、函数参数为局部变量外,其他变量都是全局变量。
js中没有块作用域,但是由于函数可以嵌套,所以存在嵌套作用域,名字解析时从里到外进行,从而内层嵌套域参数会隐藏外层域中同名变量。
js解释器开始运行时,在执行任何js代码前,须创建一个全局对象,作为散落在函数外的js语句的执行环境。而函数的执行环境则是调用对象。
四、js中特殊的运算符
in--判定左边(字符串或可以得到字符串的表达式)是右边(对象或数组)的属性
typeof x--返回表明x所属类型的字符串
delete o.x--删除对象属性,数组元素,变量
void--放在任何类型的运算数前,舍弃该值
[]--取数组元素,对象属性。用于后者时须使用字符串做标记。
五、js中的函数
函数作用域--调用对象:它包含局部变量和形参,arguments。可以在函数中直接使用。
arguments包含实参数组,callee对象。
函数的属性:length--形参个数;prototype--在北new调用作构造函数时使用;自定义属性--在函数多次调用之间保持数值;apply和call--使函数像其它对象的方法一样调用。
六、js中的对象
js中的构造函数与普通函数在定义时不无明显区别,主要是在执行和实现中表现出差异:
构造函数有new调用;传递给构造函数的是新构造的对象的空间引用,在函数中通过this引用此对象。
用构造函数定义方法由于在类的多实例中有多个方法属性拷贝,造成空间浪费,所以类方法通常通过构造函数的prototype属性定义。通过prototype实现第属性继承只发生在读属性时,而写时不会发生。
js对象定义中队OO的支持:
实例属性:function Circle(r) {this.raduis = r;}定义的Circle类中,所有实例都有raduis属性。
实例方法:function Circle(r){this.raduis = r; this.area = fucntion(){return 3.14*r*r};}中,area为实例方法。
类属性:Circle.pi = 3.14就定义了一个类方法。
类方法:Circle.prototype.area = function(){return Circle.pi*this.raduis*this.raduis}; 
原创粉丝点击