js学习笔记(一)

目前在公司做TP项目中。用到了大量打js代码,经过几个月的修炼,现整理了一些学习笔记,分享一下。
一、核心Javascript
(一).记法结构
1.1字符集
Javascript程序用的是Unicode字符集编码。
1.2大小写敏感
Javascript是一种区分大小写的语言,但是注意HTML是不区分大小写的(尽管XHTML区分大小写的)。也即在HTML中这些标记和属性名可以任意的大小写方式输入,但是在Javascript中它们通常都是小写的。
1.3可选的分号
尽管理论上说来JS允许在任意两个记号之间放置换行符,但是实际上JS会自动插入分号。例:
Return
True;
JS会假定你的意图是:
Return;
True;
1.4标识符
第一个字母必须是字母、下划线或美元符号($)!
(二).数据类型和值
2.1数字
Javascript不区整型值和浮点型数值。在Javascript中,所有的数字都是由浮点型表示的。
2.1.1整型直接量、八进制和十六进制的直接量
十六进制直接量是以”0x”或”0X”开头,而八进制是以数字0开头。
在ECMAScript标准中不支持八进制的直接量,但是Javascript的某些实现是允许八进制格式的整型直接量的。所以一般最好不要使用以0开头的整型直接量。
2.1.2浮点直接量
例如
3.14
234.342
.342424
2.32e23
1.23424E-32
2.1.3特殊的数值
当一个算术运算(如0除0)产生了未定义的结果或错误时,就会返回一个特殊的非数字的值,为NaN。这个数字值和任何数值都不相等,包括它自己在内,所以需要一个专门的数字来检测IsNaN()来检测这个值。
特殊数值常量
Number.MAX_VALUE
Number.MIN_VALUE
Number.NaN
Number.POSITIVE_INFIITY
Number.NEGATIVE_INFITY
这是特殊的常量都是在运算时可能产生的,用IsNaN()或isFinite()等函数来检测。
2.2字符串
2.2.1字符串直接量
字符串是由单引号或双引号括起来的Unicode字符.在单引号可以含有双引号,双引号可以含有单引号。
2.2.2字符串直接量中的转义序列
b t n r v f  ’ ” \ uXXXX(四位十六进制的Unicode字符)    xXX由两位十六进制指定的latin-1字符
2.2.3字符串使用
可以用(+)来连接字符串。
2.2.4数字转换为字符串
Var number=100;
Var s=number.toString();
还可以指定转换的基数,
Var s=number.toString(16);
还有三个函数可以精确指定转换后的数字格式,toFixed(),toExponential(),toPrecision();
2.2.5字符串转换为数字
当把一个字符串用于数字环境中,它也会自动地转换为一个数字,
Var t=”21” * “2”;
利用这一优点,只要把一个字符串减去0就可以将其转换为一个数字。
Var t=string_value-0;
ParseInt()和ParseFloat(),这两个函数可以从字符串开始处转换和返回任何的数字,忽略或舍去非数字部分。
ParseInt()甚至可以接受另一个参数来指定要解析的数字的基数。合法的范围在2至36之间。
ParseInt(“012”,2);
ParseInt(“0x23”);//默认返回10进制
这两个函数不能把指定的字符串转换为数字,它们会返回NaN.
ParseInt(“ele”);//返回NaN
2.3布尔值
布尔类型转换(见后)
2.4Null
Null被看作对象类型的一个特殊值,即代表“无对象”的值。
2.5undefined
使用了已经声明但还没有赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个值。注意这个特殊的undefined值不同于null。但是==运算符却将两者相等的。
2.6Error对象
当运行发生错误时,Js会抛出某个类的对象。
2.7函数、对象、数组后面讨论
2.8类型转换小结
不同的值在不同的环境运行时所转换成的值
值                         字符串           数字                                   布尔              对象
未定义的值           “undefined”    NaN                                    false               Error
Null                      “null”             0                                        false               Error
非空字符串           不变              字符串中的数字值或NaN   true                String
空字符串              不变              0                                        false               String
0                          “0”                不变                                   false               Number
NaN                      “NaN”            不变                                   false               Number
无穷                     “InFinity”       不变                                   true                Number
负无穷                  “-InFinity”      不变                                   true                Number
任意其他的数字    数字字符串值不变                                 true                Number
True                            “true”             1                                        不变              Boolean
False                     “false”            0                                        不变              Boolean
对象                     toString()              valueOf(),toString(),或NaN  true                   不变
注:对于对象的转换,当在一个数字环境时JS首先调用该对象的ValueOf()方法,如果这个方法返回一个基本类型的值,这个值会被使用,然而在大多数情况下,valueOf()方法返回的是对象自己,在这种情况下,JS先使用toString()方法把对象转换为一个字符串,然后再试图把该字符串转换为一个数字。
2.9基本数据类型的包装对象
跟C#或JAVA里的包装对象是一样的,比如用一个字符串变量时使用了一个字符串对象的方法或属性,JS会为这个字符串值内部创建一个String包装对象.String对象替代了原始的字符串值。注意,这个对象中只是瞬时存在的,在用完以后就没有用了,系统会把它丢弃。
Var s=”asdf”;
Var len=s.length;//用长度属性。
2.10传值和传址
基本类型为Null,Undefinded,布尔型,数字。
引用类型为数组、函数、对象。
JS字符串是通过传址来复制和传递的,而它们是通过传值来比较的。

Need a translation service?

Please enter your personal details and we will contact you shortly

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others

Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP