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 相关文章推荐
用js计算页面执行时间的函数
Dec 07 Javascript
js中将具有数字属性名的对象转换为数组
Mar 06 Javascript
js动态加载以及确定加载完成的代码
Jul 31 Javascript
javascript实现连续赋值
Aug 10 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
vue 搭建后台系统模块化开发详解
May 01 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 Javascript
JS获取表格视图所选行号的ids过程解析
Feb 21 Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
Jul 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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
php swoft框架实例用法
2020/12/22 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
浅析javascript的return语句
2015/12/15 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
详解webpack babel的配置
2018/01/09 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
python dataframe astype 字段类型转换方法
2018/04/11 Python
python opencv实现运动检测
2018/07/10 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
Python常见的pandas用法demo示例
2019/03/16 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
出纳岗位职责范本
2013/12/01 职场文书
21岁生日感言
2014/02/27 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
绿色出行口号
2014/06/18 职场文书
环境卫生倡议书
2014/08/29 职场文书
银行贷款收入证明
2014/10/17 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
Golang gRPC HTTP协议转换示例
2022/06/16 Golang