Skip to content

Javascript高级程序设计——基础知识 #1

@stifile

Description

@stifile

1、在html中加入Javascript元素
内嵌:<script type="test/javascript">……</script>
外链:<script type="test/javascript" src="proxy.php?url=https%3A%2F%2Fgithub.com%2Furl.js"></script>
2、异步脚本和延迟脚本
异步脚本:async 同步下载,立即执行。
延迟脚本:defer 最后下载并执行。
3、注释
单行注释://……
多行注释:/……/
4、命名方法
驼峰命名法:myDocument
5、typeof操作符
作用:判断数据类型
alert(typeof 1);//输出number
alert(typeof "stifle");//输出string
alert(typeof undefined);//输出undefined
alert(typeof true);//输出boolean
另外还有对象和函数两种类型
6、布尔转型函数
var stifle=1;
stifleAsBoolean=Boolean(stifle);
alert(“stifleAsBoolean”);//输出true
转型规则如下所示
数据类型 |转换为true的值 | 转换为false的值
Boolean |true | false
String | 任何非空字符串 | “”(空字符串)
Number | 任何非0数字值 | 0和NaN
Object | 任何对象 | null
Undefined | n/a | Undefined
7、isFinite()函数
判断数值是否为Infinity或-Infinity,对于-Infinity至Infinity之间的数会输出true。
8、isNaN()函数
判断参数是否“不是数值”,此函数会尝试把参数转换为数值,如果无法转换,将输出true。
var stifle=“100e”;
stifleAsis=NaN(stifle);
alert(stifleAsisNaN);//输出true
9、数值转换函数
Number()函数
对于值是数值、布尔值、字符串、undefined以及null的情况均好处理,当面对对象时,可以把处理方式具化为如下:
var stifle=object;
stifleAsvalueOf=stifle.valueOf();
//若不为NaN则输出
Number(stifleAsvalueOf);
//若为NaN则继续处理;
stifleAstoString=stifle.toString();
Number(stifleAstoString);
解析规则很简单数值和纯数值string→数值、boolean→0或1、null→0、undefined和非纯数值string→NaN,可以准确解析10进制和16进制,ECMA-262第三版可以解析8进制,第五版则不行。
parseInt()函数
直上例子来解释
var stifle=21.9stifle;
parseInt(stifle,2);//输出5
从第一个数字开始解析,若第一个不是数字或负号,则直接输出NaN,若可以解析则解析到第一个非数字的字符为止(包括小数点),第二参数为进制参数。
parseFloat()函数
解析方法与parseInt()类似,不过仅采取10进制方法解析,并可以多解析一个小数点。
10、字符串长度操作符
var stifle="new";
alert(stifle.length);//输出3
11、修改字符串值
var stifle="good";
var newStifle=stifle+"boy"
alert(newstifle);//输出goodboy
12、字符串转型
转型函数String()
转型操作符toString()可添加进制参数(默认10进制),对于null和undefined输出null和undefined。
13、object类型
可以通过new object(){}来创建,会创建一个空对象,返回值不是引用对象的情况下,会返回空对象即object object,如果是引用对象,则引用对象覆盖空对象。
14、递增和递降操作符
前置先自身后外部,后置先外部再自身。对任意值都使用,不过运算前先将值转换为数值。
15、一元加和减操作符
主要用于数学运算以及将数据类型转换为数值。
16、位操作符
按位非:~、按位与:&、按位或:|、按位异或:^、有符号左移:<<、有符号右移:>>、无符号右移:>>>。注意用法和输出值。
17、布尔操作符
逻辑非:!;作用类似于布偶转换函数Boolean(stifle)=!!stifle,可以进行布尔反转换。
逻辑与:&&;返回的值取决于数据类型,短路操作,第一值为false返回第一值,第一值为true则返回第二值。注意NaN、null和undefined以及未定义变量的情况。
逻辑或:||;类似于逻辑与,不过第一值为true则返回第一值。
18、乘性操作符
会先用Number()转型函数将数据类型转换成数值,注意NaN、Infinity和0的情况。
19、加性操作符
特别注意“+”的情况,此时只要有字符串,将其他所有数据类型用tostring()方法将其转换成字符串。
20、关系操作符

、<有数值将其他转换为数值,字符串比较编码大小。
21、相等操作符
注意==和===的区别在于是否对比数据类型,另外NaN、undefined和null三种特殊情况,其他情况基本靠valueOf()方法和Number()方法来判断。
22、if少条件语句
if(condition){statement1} else {statement2} 前测试语句。
23、do-while循环语句
do{statement} while(expression)后测试循环语句,且至少执行一次。
24、while循环语句
while(statement){expression} 前测试循环语句,可能一次也不执行。
25、for循环语句
for(expression){statement} 注意理解在存在break、continue以及label元素情况下的语句表达。
26、for-in迭代语句
for(variable in object){} 列举数组元素或对象属性,遇到null或undefined会停止运行。
27、switch多条件语句
switch(expression){case value:statement ; break;} 注意参数与value值之间的相关性。
28、函数
定义函数:function functionName(argn){statements}
可以不传递参数,通过arguments[x]来访问参数,可以通过arguments.length来获得参数个数。
没有传递值得命名参数将会被定义为undefined。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions