1.javascript语言精粹笔记
一.注释
/**/
// 采用这个
二.标识符
标识符被用于语句、变量、参数、属性名、运算符和标记
三.数字
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语言精粹笔记的更多相关文章
- JavaScript语言精粹笔记
JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...
- JavaScript 语言精粹笔记3
方法 毒瘤 糟粕 记录一下阅读蝴蝶书的笔记,本篇为书中最后一部分:方法.代码风格.优美的特性.毒瘤.糟粕等. 方法 这一章主要介绍了一些方法集.这里写几个我不太熟悉的方法和要点吧. array.joi ...
- JavaScript语言精粹 笔记06 方法
JS包含了少量可用在标准类型上的标准方法. ArrayFunctionNumberObjectRegExpString Array array.concat(item...) concat方法返回一个 ...
- JavaScript语言精粹 笔记05 正则表达式
正则表达式 正则表达式以方法的形式被用于对字符串中的信息进行查找.替换画图提取操作.可处理正则表达式的方法有:regexp.exec, regexp.test,string.match, string ...
- JavaScript语言精粹 笔记04 数组
数组1 数组字面量2 长度3 删除4 列举5 混淆的地方6 方法7 维度 数组1 数组字面量 var empty = []; var numbers = [ 'zero', 'one', 'two', ...
- JavaScript语言精粹 笔记03 继承
继承伪类对象说明符原型函数化部件 继承 JS不是基于类的,而是基于原型的,这意味着对象直接从其他对象继承. 1 伪类 JS提供了一套丰富的代码重用模式,它可以模拟那些基于类的模式,因为JS实际上没有类 ...
- JavaScript语言精粹 笔记02 函数
函数函数对象函数字面量调用参数返回异常给类型增加方法递归作用域闭包回调模块级联套用记忆 函数 1 函数对象 在JS中函数就是对象.对象是“名/值”对的集合并拥有一个连接到原型对象的隐藏连接.对象字 ...
- JavaScript语言精粹 笔记01 语法 对象
内容比较简单,只是从头梳理一下JS的知识 语法空白标识符数字字符串语句 对象对象字面量检索更新引用原型反射枚举删除减少全局变量污染 语法 1 空白 空白可能表现为格式化字符或注释的形式.空白通常没有 ...
- javascript语言精粹-笔记
walkDOM function walkTheDOM(node, func) { func(node); node = node.firstChild; while (node) { walkThe ...
随机推荐
- Windows Server 2012 R2如何编辑hosts文件
在我的Windows Server 2012 R2系统里编辑hosts文件则会出现没有无法保存的问题,原因是权限不足 错误信息:" Unable to save C:\Windows\Sys ...
- beyond compare 比较Xls文件时只显示有差异的列
beyond compare是专业级的文件比较工具,可以比较所有的文件格式,已经成为我工作中的必备软件 在某一个工作项目中需要比较两个Xls文件,两个文件列是相同的,主要是看两个文件的列内容有什么变化 ...
- 【cocos2d-x 3.7 飞机大战】 决战南海I (七) 控制器的实现
控制器中的功能并不多,主要是以下这些 //对玩家分数的操作 CC_SYNTHESIZE_READONLY(SaveData *, m_saveData, SaveData); void update( ...
- zend studio 13.0.0 安装破解汉化
zend studio 13安装破解汉化步骤 官网原版下载 http://downloads.zend.com/studio-eclipse/13.0.0/ZendStudio-13.0.0-win3 ...
- 【Python】【Nodejs】下载单张图片到本地,Python和Nodejs的比较
Python版本: # 下载单张图片到本地,看用时多少 import urllib.request import datetime starttime = datetime.datetime.now( ...
- 【python】下载网络文件到本地
# 下载网络图片文件到本地 import urllib.request rsp=urllib.request.urlopen("http://n.sinaimg.cn/ent/transfo ...
- (C++)浅谈多态基类析构函数声明为虚函数
主要内容: 1.C++类继承中的构造函数和析构函数 2.C++多态性中的静态绑定和动态绑定 3.C++多态性中析构函数声明为虚函数 1.C++类继承中的构造函数和析构函数 在C++的类继承中, 建立对 ...
- share_ptr
1.为了保证不会重复释放内存,auto_ptr的copy构造和copy赋值都是破坏性操作,执行后,导致右操作数的指针为0.这就出现了,copy构造或者copy赋值后,两个对象不相等了. 2.auto_ ...
- (step6.1.1)hdu 1879(继续畅通工程——最小生成树、kruscal)
题目大意:输入一个整数n,表示有n个村庄.在接下来的n(n-1)/2行中,每行有4个整数begin end weight flag.分别表示从begin到end之间可以连通 ,他们之间的费用为w ...
- 自己定义UIView以实现自绘
有时候我们须要自绘uiview以实现自己的需求,比方依据坐标点绘制出连续的曲线(股票走势图),就须要自绘uiview了. 原理:继承uiview类(customView),并实现custom view ...