Posted in Javascript onApril 07, 2010
一、运算符
. [] () 属性存取及函数调用 delete new typeof + - ! 一元运算符 * / % 乘法,除法,取模 + - 加法/连接,减法 >= <= > < 不等式运算符 === !== 等式运算符 && 逻辑与 || 逻辑或 ?: 三元运算符
二、语句:
1.if语句
var dayOfWeek=0; if(day===6){ } else if(dayOfWeek===0){ } else{ }
2.switch语句
var dayOfWeek=0; switch (dayOfWeek){ case 6: break; case 0: break; default: break; }
switch语句将switch表达式的值和所有指定的Case表达式进行精确匹配(===)。当找到一个匹配时,执行匹配的case从句中的语句。如果没有找到任何匹配,则执行可选的default语句。
3.while语句
var count=0; while (count<=10){ count++; }
4.do/while语句
var count=0; do{ count++; }while (count<=10);
5.for语句
for (var count=0;count<=10;count++){ }
6.for/in语句
var colors=["Red","Yellow","Blue"]; for (var color in colors){ }
7.try/catch语句
try{ } catch(e){ }
8.throw语句
throw{ name:'ArgumentOutOfRangeError', message:'year must > 0' }
9.return语句
return "Red";
return语句会使一个函数提前返回。它也可以指定要被返回的值。如果没有指定返回表达式,那么其值是undefined。
三、类型:
1.数字
var value=1.0;
JavaScript只有一个单一的数字类型。他在内部被表示为64位的浮点数。
特殊数值:
NaN 非数字的特殊值
Infinity 无穷大的特殊值
2.字符串
var value="One";
JavaScript字符串是一个由16位的Unicode字符组成的序列。字符串字面量可以被包围在单引号或双引号中。
字符串转义:
\" \' \\
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\uXXXX 由4位16进制XXXX指定的Unicode字符
3.布尔值
var value=true;
布尔值只有2个值:true和false。
下列值被当作假值:
false
null
undefined
空字符串''
数字0
数字NaN
4.null
var value=null; //null
JavaScript中null是一个特殊的值,表示“无值”。
5.undefined
var value; //undefined
JavaScript中undefined是一个特殊的值。在使用一个未声明的变量,或已声明但还未赋值的变量,以及并不存在的对象属性时,将返回undefined。
6.对象
var car={ brand:"Honda", color:"Red", run:function(){ //run } }; var value=car.brand;
JavaScript中的对象是可变的键值集合。对象是属性的容器,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。
car.prototype.stop=function(){ //stop }; car.run();
每个对象都连接到一个原型对象,并且它可以从中继承属性。原型连接在更新时是不起作用的。它只有在检索值的时候才被使用。
模块化:
var App={}; App.employee={ name:"Joyce" } App.customer={ name:"Jason" }
7.函数
var add=function(a,b){ return a+b; }; add(1+2);
JavaScript中函数就是对象。函数可以被定义在其它函数中。一个内部函数可以访问包围它的外部函数的参数和变量。这被称为闭包。
闭包:
var car=function(brand,color){ return { getBrand:function(){ return brand; }, getColor:function(){ return color; } }; }; var myCar=car("Honda","Red"); myCar.getBrand();
函数化继承:
var mammal = function (spec) { var that = {}; that.getName = function () { return spec.name; }; that.says = function () { return spec.saying || ''; }; return that; }; var myMammal = mammal({name: 'Herb'}); var cat = function (spec) { spec.saying = spec.saying || 'meow'; var that = mammal(spec); that.purr = function (n) { //purr }; that.getName = function () { return that.says() + ' ' + spec.name + ' ' + that.says(); }; return that; }; var myCat = cat({name: 'Henrietta'});
8.数组
var colors=["Red","Yellow","Blue"];
var value=colors[0]; //"Red"
数组和对象一样是键值集合。所不同的是,数组可以用整数做为属性名。数组还提供了一套非常有用的内置方法。
每个数组都有一个length属性。length属性的值是这个数组的最大整数属性名加上1。它不一定等于数组里的属性的个数。
9.正则表达式
var numberRegex=/^-?\d+(?:\.\d*)?(?:e[+\-]?\d+)?$/i; numberRegex.test(1.2); //true
正则表达式分组:
() 捕获型分组
(?:) 非捕获型分组
正则表达式转义:
\\ \/ \[ \] \( \) \{ \} \? \+ \* \| \. \^ \$
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\uXXXX 由4位16进制XXXX指定的Unicode字符
\d 匹配一个数字(等同于[0-9])
\1 捕获型分组1的引用(\2依此类推)
正则表达式类转义:
\- \\ \/ \[ \] \^
\b 退格符
\f 换页符
\n 换行符
\r 回车符
\t 制表符
\uXXXX 由4位16进制XXXX指定的Unicode字符
\d 匹配一个数字(等同于[0-9])
正则表达式量词:
? 匹配0或1次(同{0,1})
* 匹配0或多次(同{0,})
+ 匹配1或多次(同{1,})
{n} 匹配n次
{n,} 匹配至少n次
{n,m} 匹配至少n次,但不能超过m次
正则表达式标志:
g 执行全局匹配(所有匹配)
i 执行不区分大小写匹配
m 执行多行匹配(^和$能匹配行结束符)
JavaScript Distilled 基础知识与函数
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@