天天看点

javascript学习1:初识javascript

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等

继续阅读