javascript学习笔记4-6章
1、 Javascript中使用6中数据类型:数字(number)、字符串(String)、布尔值(Bollean)、Null、未定义(Undefined)、对象(Object),三个参考数据类型:Array、Date、RegExp。
2、 十六进制和八进制在javascript中都是有效地,即使两个十六进制的数相乘,警告对话框中的输出都是基于十进制格式的。
3、 NaN是Not a Number的缩写,代表一个非法数字,可以使用isNaN函数来判断一个针对ECMA-262规范是否合法和有效。 isNaN()函数---变量中的值不是一个数字????
4、 引号不会对函数起到任何影响。
5、部分数值常量
Infinity |
表示正无穷大 |
Number.MAX_VALUE |
Javascript中可表示的最大数 |
Number.MIN_VALUE |
Javascript中克表示的最小数 |
Number.NEGATIVE_INFINITY |
一个表示负无穷大的值 |
Number.POSITIVE_INFINITY |
一个表示正无穷大的值 |
5、 Math对象的部分属性
属性 |
定义 |
Math.random() |
返回一个伪随机数 |
Math.abs(x) |
返回x的绝对值 |
Math.pow(x,y) |
返回x的y次幂 |
Math.round(x) |
将x取值为最接近的整数值 |
Math.PI |
π |
http://www.ecma-international.org/publications/files/ECMA-/ST/Ecma-262.pdf包含了ECMA-262规范中所有的Math对象的完整属性列表
6、 如果字符串被一种引号引起来那么你可以在它里面使用另一种引号。
7、 转义字符
转义符号 |
序列值 |
\b |
退格符 |
\t |
水平制表符 |
\n |
换行符 |
\v |
垂直制表符 |
\f |
换页符 |
\r |
回车符 |
\\ |
反斜杠符 |
\’ 或\” |
引号 |
谷歌浏览器不支持水平制表符
8、 javascript:alert("this is a string.".length);等同于javascript:var a="this is a string."; alert(a.length);
9、 substring方法返回从第一个参数到第二个参数(但不包括第二个参数)之间的字符。
例:javascript:var a="this is a string."; alert(a.substring(0,4));
返回:
10、
函数名称 |
参数个数 |
第一个参数作用 |
第二个参数作用 |
备注 |
substring |
2 |
开始位置 |
结束为止 |
字符串的截取 |
slice |
|
|
|
同上 |
substr |
2 |
开始位置 |
返回字符的个数 |
字符串的截取 |
Contact |
|
|
|
连接两个字符串 |
toUpperCase |
|
|
|
将字符串转换为全部大写 |
toLowerCasw |
|
|
|
将字符串转换为全部小写 |
toLocaleUpperCase |
|
|
|
将字符串转换为全部大写 |
toLocaleLowerCase |
|
|
|
将字符串转换为全部小写 |
注:toLacale方法以语言环境特定模式执行转换
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf 中可以找到属性和方法的完整列表
10、 javascript是一种基于对象的语言,是一种脚本语言。
11、 javascript中的变量不是强类型的。
12、 Date对象的get方法
方法名称 |
说明 |
getDate() |
返回月中某天 |
getDay() |
返回星期中的某天 |
getFullYear() |
返回四位数年份表示,相较于getYear()方法在大多数环境下被推荐使用 |
getHours() |
返回日期中的小时 |
getMilliseconds() |
返回日期中的毫秒 |
getMinutes() |
返回日期中的分钟 |
getMonth() |
返回日期中的月 |
getSeconds() |
返回日期中的秒 |
getTime() |
返回自1970年1月1日起的毫秒 |
getTimezoneOffset() |
返回UTC和本地时间之间差值所对应的分钟数 |
13、 Date对象的set方法
方法名称 |
说明 |
setDate() |
设置月中的某天 |
setFullYear() |
设置日期中的四位数年份表示。也接受月以及月中的一天对应整数 |
setHours() |
设置日期中的小时 |
setMilliseconds() |
设置日期中的毫秒 |
setMinutes() |
设置日期中的分钟 |
setMonths() |
设置日期中的月 |
setSeconds() |
设置日期中的秒 |
setTime() |
使用自1970年1月1日起的毫秒数设置时间 |
13、正则表达式区分大小写。
正则表达式格式整个ip地址
var theIP = "192.168.0/28";
alert(theIP.replace(/([0-9]+)\.([0-9]+)(\/[0-9]+)/,"$1\.$2\.0$3"));
14、javascript正则表达式中常用的特殊字符
^ |
在输入的开始出设置锚 |
$ |
在输入的末尾处设置锚 |
. |
匹配任何字符 |
* |
匹配前面的字符零次或更多次,可将其看做通配符 |
+ |
匹配前面的字符一次或更多次。 |
? |
匹配前面的字符零次或一次 |
() |
将圆括号内的匹配放置到一个组内,稍后使用 |
{n,} |
匹配前面的字符至少n次 |
{n,m} |
匹配前面的字符至少n次,但不超过m次。 |
[] |
定义一个字符类来匹配括号内的任何字符。这个字符可以使用0~9来匹配任何数字或者a~z来匹配任何字母 |
[^] |
在字符内部使用一个插入符号取消那个字符类,即那个类中的字符不能在匹配中出现 |
\ |
通常用作转义字符,即反斜杠符号后面无论跟着什么都只能当做文字字符,而不具备特殊含义。同时也能被用来定义特殊字符集 |
15、javascript正则表达式中常用的字符序列
\b |
字边界 |
\B |
非字边界 |
\c |
与另一个字符一起使用时的控制字符。例如,\cA是control-A的转义序列 |
\d |
数字 |
\D |
非数字 |
\n |
换行 |
\r |
回车 |
\s |
单个空白字符 |
\t |
制表符 |
\w |
任何字母数字字符,可以是数字或者字母 |
\W |
任何非字母数字字符 |
另外还可以使用两个修饰字符,i和g,i指定正则表达式以区分大小写的模式解析,g指正正则表达式的匹配在第一次匹配完成之后应该继续,有时也称为“全局模式”或者“贪婪模式”。
16、test对一个字符穿测试正则表达式,并且根据正则表达式是否匹配字符串返回true或者false。
17、exec()方法用来对字符串解析正则表达式并且返回结果。
正则表达式http:\/\/中/是正斜线,但是在正则表达式中是特殊字符,必须使用反斜线(\)将其转义。
(http:\/\/\w+\.)匹配了一个典型地址中的所有元素,正好到达域名。
18、对象、数组、和函数是引用类型,数字、布尔值、null、和未定义、字符串是基本类型。
19、垃圾回收机制
与基本类型和引用类型之间的区别有些相关的主题是垃圾回收机制。垃圾回收机制指的是javascript解释器为了节约内存而将无用的变量清除掉,当一个变量在程序中不再使用时,解释器就会释放内存以便重新使用。同样的情况也适用于java虚拟机和.Net公共语言运行时,不过不同于C++,那需要程序员手动执行垃圾回收任务。
20、javascript通常执行隐式类型转换。
21、位操作符
操作符 |
含义 |
& |
与 |
| |
或 |
^ |
异或 |
~ |
非 |
<< |
左移 |
>> |
带符号右移 |
>>> |
用0填充右移 |
22、相等操作符
操作符 |
含义 |
== |
等于 |
!= |
不等于 |
=== |
使用更严格的方法判断,等于(类型必须相同) |
!=== |
使用更严格的方法判断不等于(类型) |
23、关系操作符
操作符 |
含义 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
in |
包含在一个表达式或者对象中 |
Instanceof |
是一个对象的实例 |
24、in操作符最常用于鉴定一个给定的属性是否包含在一个对象内。注意,in操作符是属性的存在不是属性值。
25、instanceof操作符测试一个给定的表达式(通常是一个变量)是否是对象的一个实例,该对象作为语句的一部分包含在语句中。Instanceof同样可以用于用户定义的对象。
26、赋值操作符
操作符 |
含义 |
*= |
左侧操作数被右侧操作数乘 |
/= |
左侧操作数被右侧操作数除 |
%= |
左侧操作数除以右侧操作数所得余数(模) |
+= |
将右侧操作数加到左侧操作数 |
-= |
从左侧操作数中减去右侧操作数 |
<<= |
位左移 |
>>= |
位右移 |
>>>= |
位无符号右移 |
&= |
按位与 |
^= |
按位异或 |
/= |
按位或 |