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 ...
随机推荐
- 基于java语言的给cube添加custom view来实现权限控制
今天是农历2014年的最后一个工作日了,在这里提前祝大家新年快乐.羊年大吉!当然本人今天也拿出来点儿真东西,做为献给大家的新年礼物,依次共勉. 下文主要讲述的是使用Java代码来完成对cube基于部门 ...
- WinForm 窗口缩放动画效果
using System; using System.Collections.Generic; using System.Text; using System.Threading; using Sys ...
- python的加密模块(md5,sha,crypt)学习
python的加密模块(md5,sha,crypt)学习 命令行使用python MD5: yinguicai@Cpl-IBP-Product:~/data/work/svn/v1.4.0_dev/A ...
- uva:10487 - Closest Sums(二分查找)
题目:10487 - Closest Sums 题目大意:给出一组数据,再给出m个查询的数字. 要求找到这组数据里的两个数据相加的和最靠近这个查询的数据,输出那两个数据的和. 解题思路:二分查找.这样 ...
- Unity Editor类常用方法
http://www.cnblogs.com/zhaoqingqing/p/3944718.html 一些比较常用的Editor功能我在之前的博客中也有提到过所以就不详细写啦,今天参考了一下 麒麟子( ...
- JUnit单元测试基础要点
JUnit单元测试基础要点 1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确. 2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的. 3.单元测 ...
- 父元素没有设置定位 position absolute 解析
1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...
- linux静态链接库与动态链接库详解
一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(e ...
- websphere设置jvm参数
http://www.quiee.com.cn/archives/592/ websphere 选择服务器-> 应用程序服务器-> Server1-> 进程定义->Java 虚 ...
- python基础篇---列表---知识点回顾
列表:数据的集合,里面可以放任何的数据类型,可进行增删改查等操作 有序列表功能(index是列表的索引值): ①创建:用 [] 表示,里面添加元素,如n2 = [1,2,4,5,5]: 或者 ...