一.注释
/**/
// 采用这个

二.标识符
标识符被用于语句、变量、参数、属性名、运算符和标记
三.数字
javascript只有一个单一的数字模型。它在内部被表示64位的浮点数。
没有分离出整形,所以1和1.0是相同的值。
负数:可以用前缀符- 来构成
值NaN是一个数值,它表示一个不能产生正常结果的运算结果。
NaN不等于任何值,包括它自己。isNaN()检测NaN
四.字符串
字符串字面量可以别包围在单引号或双引号中,它可能包含0个或多个字符。
\ (反斜线符号)是转义字符。javascript在被创建的时候,unicode是一个16位的字符集,所以javascript中的所有字符都是16位的。
javascritp没有字符类型。要表示一个字符,只需创建仅包含一个字符的字符串即可。

②。字符串有一个length属性
③。字符串是不可变的。一旦字符串被创建,就永远无法改变它。“+”连接字符串
五。语句
1.下面的值被当作假
false null undefined 空字符串'' 数字0 数字NaN 其他所有的值都被当作真,包括true、字符串“false”,以及所有的对象。
六。表达式

七。字面量
对象字面量是一种方便指定新对象的表示法。
八。函数
函数字面量定义了函数值。
九。对象
javascript的简单类型包括数字、字符串、布尔值(true false)、null值和undefined值。其他所有的值都是对象。
①。javascript中的对象是可变的键控集合
②。javasript中,数组是对象,函数是对象、正则表达式是对象,当然,对象也是对象。
③。对象是属性的容器,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符。属性值可以是除了undefined值之外的任何值。
④。javascript包括一个原型链特性,允许对象继承另一个对象的属性。正确地使用它能减少对象初始化的时间和内存消耗。
2.对象字面量
var empty_boject = {};

var stooge = {
// 属性名,并不强制要求用引号括住属性名。
"first-name": "jerome",
"last-name" : "howard"
};

属性的值可以从包括另一个对象字面量在内的任意表达式中获得。对象是可嵌套的:
var flight = {
airline: "oceanic",
number: 815,
departure:{
iata: "syd",
time: "2004-09-22 14:55",
city: "sydney"
},

arrival:{
iata: "lax",
time: "2004-09-23",
city: "los angeles"

}

};
3.检索
stooge["first-name"]
flight.departure.iata
4.更新
stooge["first-name"] = 'jerome';
5.引用
对象通过引用来传递。它们永远不会被拷贝:
var x = stooge;
x.nickname = 'curly';
var nick = stooge.nickname;
//因为x和stooge是指向同一个对象的引用,所以nick位'curly'
var a = {}, b={}, c={};
//a、b、b每个都引用一个不同的空对象
a = b =c={};
//a、b、b都引用同一个空对象。
6.原型
object.prototype是javascript中标准的对象
7.反射
typeof操作符对确定属性的类型很有帮助
8.枚举
9.删除
delete运算符可以用来删除对象的属性
another_stooge.nickname
delete another_stooge.nickname;
another_stooge.nickname
十、函数
一般来说,所谓编程就是将一组需求分解成一组函数与数据结构的技能。
1.函数对象
在javascript中函数就是对象。对象是“名/值”对的集合并拥有一个连到原型对象的隐藏连接。
①。对象字面量产生的对象连接到object.prototype
②。函数对象连接到function.protope 原型
③。因为函数是对象,所以它们可以像任何其他的值一样被使用。函数可以存放在变量、对象和数组中,函数可以被当作参数传递给其他函数,函数也可以再返回函数。而且,因为函数是对象,所以函数可以拥有方法。 函数的与众不同之处在于它们可以被调用。
2.函数字面量

//创建一个名为add的变量,并用来把两个数字相加的函数赋值给它。
var add = function (a,b){
return a+b;
};

注释:函数字面量包括四个部分。第一个部分是保留字function
第二个部分是函数名,它可以被省略。(匿名函数)
第三部分是包围在圆括号中的一组参数。
第四部分是包围在花括号中的一组语句。
3.调用
在javascript中一共有四种调用模式:
①。方法调用模式
当一个函数被保存为对象的一个属性时,我们称它为一个方法。
//创建myObject。它有一个value属性和一个increment方法。
//increment方法接受一个可选的参数。如果参数不是数字,那么默认使用数字1

var myObject = {
value: 0;
increment: function (inc) {
this.value += typeof inc ==='number' ? inc : 1;
}

};

myObject.increment();
document.writeln(myObject.value); //1
myObject.increment(2);
document.writeln(myObject.value); //3

②。函数调用模式
当一个函数并非一个对象的属性时,那么它被当作一个函数来调用

var sum = add(3,4); //sum的值为7
③。构造器调用模式
var quo = function(string){

this.status = string;
};
④。apply调用模式。

1.javascript语言精粹笔记的更多相关文章

  1. JavaScript语言精粹笔记

    JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...

  2. JavaScript 语言精粹笔记3

    方法 毒瘤 糟粕 记录一下阅读蝴蝶书的笔记,本篇为书中最后一部分:方法.代码风格.优美的特性.毒瘤.糟粕等. 方法 这一章主要介绍了一些方法集.这里写几个我不太熟悉的方法和要点吧. array.joi ...

  3. JavaScript语言精粹 笔记06 方法

    JS包含了少量可用在标准类型上的标准方法. ArrayFunctionNumberObjectRegExpString Array array.concat(item...) concat方法返回一个 ...

  4. JavaScript语言精粹 笔记05 正则表达式

    正则表达式 正则表达式以方法的形式被用于对字符串中的信息进行查找.替换画图提取操作.可处理正则表达式的方法有:regexp.exec, regexp.test,string.match, string ...

  5. JavaScript语言精粹 笔记04 数组

    数组1 数组字面量2 长度3 删除4 列举5 混淆的地方6 方法7 维度 数组1 数组字面量 var empty = []; var numbers = [ 'zero', 'one', 'two', ...

  6. JavaScript语言精粹 笔记03 继承

    继承伪类对象说明符原型函数化部件 继承 JS不是基于类的,而是基于原型的,这意味着对象直接从其他对象继承. 1 伪类 JS提供了一套丰富的代码重用模式,它可以模拟那些基于类的模式,因为JS实际上没有类 ...

  7. JavaScript语言精粹 笔记02 函数

    函数函数对象函数字面量调用参数返回异常给类型增加方法递归作用域闭包回调模块级联套用记忆   函数 1 函数对象 在JS中函数就是对象.对象是“名/值”对的集合并拥有一个连接到原型对象的隐藏连接.对象字 ...

  8. JavaScript语言精粹 笔记01 语法 对象

    内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染  语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有 ...

  9. javascript语言精粹-笔记

    walkDOM function walkTheDOM(node, func) { func(node); node = node.firstChild; while (node) { walkThe ...

随机推荐

  1. linux查看CPU性能及工作状态的指令mpstat,vmstat,iostat,sar,top

    转载:http://www.cnblogs.com/xianghang123/archive/2011/08/25/2153591.html 衡量CPU性能的指标: 1,用户使用CPU的情况:CPU运 ...

  2. .NET破解之爱奇迪(三)

    本教程只能用于学习研究,不可进行任何商业用途.如有使用,请购买正版,尊重他人劳动成果和知识产权! .NET破解之爱奇迪(一) .NET破解之爱奇迪(二) 一打开软件,就看到各种注册和未注册提示信息,就 ...

  3. SpringMVC请求参数和响应结果全局加密和解密

    前提 前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景.为了模拟真实的交互场景,先定制一下整个交互流程.第三方传输(包括请求和响应)数据报文包括三个部分: 1.t ...

  4. OpenERP7.0中非admin帐号新增其它用户问题

    在OpenERP7.0中,通过admin新增了一个管理员帐号,然后登录管理员帐号,再新增其它用户时提示错误,系统提示对users没有create权限. 经测试了解,是因为安装了多公司模块后,在记录规则 ...

  5. openvpn mac客户端tunnelblick连接后自动添加路由

    在openvpn 的服务器配置文件添加配置设置客户端连接后自动添加一条路由 示例: vim /etc/openvpn/server.conf # Push routes to the client t ...

  6. 【LeetCode】101. Symmetric Tree (2 solutions)

    Symmetric Tree Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its ...

  7. Windows7下搭建Android开发环境

    以后工作中要用到android开发,所以想搭建好开发环境,笔记本装的是win7 准备文件: 1 下载Android SDK http://code.google.com/android/downloa ...

  8. 04-树7. Search in a Binary Search Tree (25)

    04-树7. Search in a Binary Search Tree (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 ...

  9. some nets were not able to be matched

    原因是:PCB画好之后再次更改原理图,将更改后的原理图更新至PCB的时候会导致原理图中新生成的网络和PCB中原有的网络名不匹配 解决办法:PCB---设计----网络表---编辑网络,把PCB中不匹配 ...

  10. unity, editorWindow update计时

    对于editorWindow,Time.deltaTime不起作用,所以需用下面方法对update进行计时: public class myEditorWindow : EditorWindow{ p ...