1、使用Javascript
<script type="text/javascript">
document.writeln("hello");
</script>
2、使用语句
通常以分号结尾,但是不用分号也是可以的,加上了方便阅读。
3、定义使用函数
function myFunc() {
document.writeln("this is a statement");
}
3.1 定义带参数的函数
function myFunc(name, weather) {
document.writeln("this is a statement");
}
3.2 定义会返回结果的函数
function myFunc(name) {
document.writeln("this is a statement");
return ("hello" + name);
}
4、使用变量和类型
定义变量使用var关键字,在定义的同时还可以赋值,定义在函数中的变量为局部变量,直接script元素中定义的变量为全局变量。
4.1 使用基本类型
1)字符串类型
string类型的值可以用夹在一对双引号或单引号之间的一串字符表示
2)布尔类型
boolean类型有两个值:true和false。
3)数值类型
整数和浮点数(也称实数)都用number类型表示
var pi = 3.14;
var day = 7;
var value = 0xFFFF;
4.2 创建对象
JavaScript支持对象的概念。有多种方法可以用来创建对象。
1)使用对象字面量
用对象字面量的方式可以一口气定义一个对象及其属性
var myData = {
name: "aa",
weather: "sunny"
};
2)将函数用做方法
对象可以添加属性,也能添加函数。属于一个对象的函数称为其方法
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
4.3 使用对象
1)读取和修改属性值
对象最显而易见的操作是读取或修改属性值。
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
myData.name = "joe";
myDate["weather"] = "rainint";
2)枚举对象属性
要枚举对象属性可以使用for. . .in语句。
var myData = {
name: "aa",
weather: "sunny",
print: function() {
document.writeln("hello");
}
};
for (var prop in myDate) {
document.writeln(prop);
}
3)增删属性和方法
就算是用对象字面量生成的对象,也可以为其定义新属性。
var myData = {
name: "aa",
weather: "sunny",
};
myData.day = "money"; //加属性
myData.sayHello = function() { //加方法
document.writeln("hello");
}
delete myData.name; //删属性
delete myData["weather"];//删属性
delete myData.sayHello;//删方法
4)判断对象是否有某个属性
可以用in表达式判断对象是否具有某个属性。
var myData = {
name: "aa",
weather: "sunny",
};
var hasName = "name" in myData;
5、使用javascript运算符
运算符 | 说明 |
---|---|
++,– | 前置或后置自增自减 |
+,-,*,/,% | 加、减、乘、除、求余 |
<,<=,>,>= | 小于、小于等于、大于、大于等于 |
==,!= | 相等和不相等 |
=,! | 等同和不等同 |
&&,|| | 逻辑与、逻辑或 |
= | 赋值 |
+ | 字符串连接 |
?: | 字符串连接 |
5.1 相等和等同运算符
相等和等同运算符需要特别说明一下。相等运算符会尝试将操作数转换为同一类型以便判断是否相等。只要明白其工作方式,这就是一个很方便的特性。
从本质上讲,相等运算符测试两个值是否相等,不管其类型。如果想判断值和类型是否都相同,那么应该使用的是等同运算符(===,由三个等号组成。相等运算符是由两个等号组成)。
5.2 显式类型转换
字符串连接运算符(+)比加法运算符(也是+)优先级更高。这可能会引起混乱,这是因为JavaScript在计算结果时会自动进行类型转换,其结果未必跟预期一样。
1)将数值转换为字符串
如果想把多个数值类型变量作为字符串连接起来,可以用toString方法将数值转换为字符串。
方法 | 说明 |
---|---|
toString() | 转换成十进制 |
toString(2) | 转换成2进制 |
toString(8) | 转换成8进制 |
toString(16) | 转换成16进制 |
toFixed(n) | 以小数点后有n位数字的形式表示实数 |
toExponential(n) | 以指数表示法表示数值。尾数的小数点前后分别有1位数字和n位数字 |
toPrecision(n) | 用n位有效数字表示数值,在必要的情况下使用指数表示法 |
2)将字符串转换为数值
函数 | 说明 |
---|---|
Number(str) | 通过分析指定字符串,生成一个整数或实数值 |
parseInt(str) | 通过分析指定字符串,生成一个整数值 |
parseFloat(str) | 通过分析指定字符串,生成一个整数或实数值 |
6、使用数组
var myArray = new Array();
myArray[0] = 100;
myArray[1] = "adam";
6.1 使用数组字面量
6.2 读取和修改数组内容
6.3 枚举数组内容
for (var i = 0; i < myArray.length; i++) {
documeent.writeln(myArray[i]);
}
6.4 使用内置的数组和方法
方法 | 说明 | 返回 |
---|---|---|
concat(otherArray) | 将数组和参数所指数组的内容合并为一个新数组。可指定多个数组 | 数组 |
join(separator) | 将所有数组元素连接为一个字符串。各元素内容用参数指定的字符分隔 | 字符串 |
pop() | 把数组当做栈使用,删除并返回数组的最后一个元素 | 对象 |
push(item) | 把数组当做栈使用,将指定的数据添加到数组中 | void |
reverse() | 就地反转数组元素的次序 | 数组 |
shift() | 类似pop,但操作的是数组的第一个元素 | 对象 |
slice(start,end) | 返回一个子数组 | 数组 |
sort() | 就地对数组元素排序 | 数组 |
unshift(item) | 类似push,但新元素被插到数组的开头位置 | void |
7、处理错误
JavaScript用try. …catch语句处理错误。一般不用操心错误处理方面的事。
try {
var myArray;
} catch(e) {
document.writeln("Error:" + e);
} finally {
document.writeln("statements");
}
Error对象:
属性 | 说明 | 返回 |
---|---|---|
message | 对错误条件的说明 | 字符串 |
name | 错误的名称,默认为Error | 字符串 |
number | 该错误的错误代号(如果有的话) | 数值 |
8、比较undefined和null值
JavaScript中有两个特殊值: undefined和null,在比较它们的时候需要留心。在读取未赋值的变量或试图读取对象没有的属性时得到的就是undefined值。
8.1 检查变量或属性是否为undefined或null
使用if语句和逻辑非运算符
if (!myData.city){ //如果变量或属性为null或undefined,则转换而得的布尔值为false;
}
8.2 区分null和undefined
在比较两个值时,所用办法应视需要而定。如果想同等对待undefined值和null值,那么应该使用相等运算符(),让JavaScript进行类型转换。此时值为undefined的变量会被认为与值为null的变量相等。如果要区分null和undefined,则使用等同运算符(=)。
9、常用的javascript工具
9.1 使用javascript调试器
现代浏览器都配备了精良的JavaScript调试器(或以插件的方式支持这一功能,如MozillaFirefox的插件Firebug )。它们可以用来设置断点、探查错误和逐句执行脚本。在遇到脚本方面的问题时首先应该想到的就是向调试器求助。我喜欢的浏览器是谷歌的Chrome,并能熟练应用其内置调试器。不过在碰到特别难缠的问题时,我会使用Firefox上的Firebug。这个调试器在对付复杂情况时显得更为强大。
9.2 使用javascipt库
jquery等