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 数据缓存data(name, value)详解及实现
Jan 04 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
Mar 26 Javascript
js解决弹窗问题实现班级跳转DIV示例
Jan 06 Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
纯js实现手风琴效果代码
Apr 17 Javascript
vue-resource调用promise取数据方式详解
Jul 21 Javascript
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
详解Angular路由之路由守卫
May 10 Javascript
微信小程序实现弹出菜单
Jul 19 Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 Javascript
vue实现移动端触屏拖拽功能
Aug 21 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数组函数
2008/08/18 PHP
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
帝国cms目录结构分享
2015/07/06 PHP
PHP实现的观察者模式实例
2017/06/21 PHP
JS中==与===操作符的比较
2009/03/21 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
python 实现归并排序算法
2012/06/05 Python
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
基于Python os模块常用命令介绍
2017/11/03 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
婚宴新娘致辞
2015/07/28 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis