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 相关文章推荐
Jquery增加鼠标中间功能mousewheel的实例代码
Sep 05 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
jQuery实现按键盘方向键翻页特效
Mar 18 Javascript
理解javascript中的原型和原型链
Jul 30 Javascript
JavaScript提高性能知识点汇总
Jan 15 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
Oct 05 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
Nov 17 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
vue结合Echarts实现点击高亮效果的示例
Mar 17 Javascript
快速解决brew安装特定版本flow的问题
May 17 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
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
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php自定文件保存session的方法
2014/12/10 PHP
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
基于jquery编写分页插件
2016/03/07 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
js原生日历的实例(推荐)
2017/10/31 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
vue.js学习笔记之v-bind和v-on解析
2018/05/03 Javascript
webpack4的迁移的使用方法
2018/05/25 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
[02:59]DOTA2完美大师赛主赛事第三日精彩集锦
2017/11/25 DOTA
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
Django 自定义404 500等错误页面的实现
2020/03/08 Python
路政管理专业个人自荐信范文
2013/11/30 职场文书
高一自我鉴定
2013/12/17 职场文书
艺术节主持词
2014/04/02 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
Python基础之元组与文件知识总结
2021/05/19 Python
Java的Object类的九种方法
2022/04/13 Java/Android