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 使用手册(二)
Sep 23 Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
Dec 20 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
js实现分享到随页面滚动而滑动效果的方法
Apr 10 Javascript
HTML5实现留言和回复页面样式
Jul 22 Javascript
JS简单判断滚动条的滚动方向实现方法
Apr 28 Javascript
老生常谈JavaScript面向对象基础与this指向问题
Oct 16 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
vue 对axios get pust put delete封装的实例代码
Jan 05 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 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
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
JS实现多功能计算器
2020/10/28 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
python检查指定文件是否存在的方法
2015/07/06 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
Python将字典转换为XML的方法
2020/08/01 Python
Python如何使用input函数获取输入
2020/08/06 Python
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
打架检讨书50字
2014/01/11 职场文书
毕业生自荐书
2014/02/02 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
自主招生英文自荐信
2015/03/25 职场文书
安全生产会议制度
2015/08/06 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技