JavaScript Distilled 基础知识与函数


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 相关文章推荐
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
Mar 22 Javascript
JavaScript获得选中文本内容的方法
Dec 02 Javascript
web前端开发也需要日志
Dec 09 Javascript
js中文逗号转英文实现
Feb 11 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
ES6新特性八:async函数用法实例详解
Apr 21 Javascript
详解ES6中的Map与Set集合
Mar 22 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
javascript setTimeout()传递函数参数(包括传递对象参数)
Apr 07 #Javascript
javascript在事件监听方面的兼容性小结
Apr 07 #Javascript
javascript 程序库的比较(一)之DOM功能
Apr 07 #Javascript
JS 文件大小判断的实现代码
Apr 07 #Javascript
基于jquery的一个简单的脚本验证插件
Apr 05 #Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 #Javascript
offsetParent 算法分析
Apr 05 #Javascript
You might like
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
javascript实现表单验证
2016/01/29 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
js实现表格数据搜索
2020/08/09 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Django实现图片文字同时提交的方法
2015/05/26 Python
Python获取某一天是星期几的方法示例
2017/01/17 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
python利用微信公众号实现报警功能
2018/06/10 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
Python实现寻找回文数字过程解析
2020/06/09 Python
Python读写Excel表格的方法
2021/03/02 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
本科毕业生求职信
2014/06/15 职场文书
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
2014年少先队工作总结
2014/12/03 职场文书
关于颐和园的导游词
2015/01/30 职场文书
行政撤诉申请书
2015/05/18 职场文书
好人好事新闻稿
2015/07/17 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang