一、杂谈
1.变量定义
str="string"
2.字符串连接变量
'my name is '+str
3.输出变量
1) alert(str) //弹窗形式
2) documentwriet('<h1>'+str+'<h1>) //直接输出到网页
4.函数定义
1)传统定义方法
function say(){
alert(1);
}
2)匿名定义方法
say=function(){
alert(1);
}
二、变量类型
1.字符串
2.整型
3.浮点型
4.布尔型
5.数组
<script>
arr= new Array('a','b','c','d');
alert(arr);
</script>
6.对象
1)js对象
<html>
<head>
<meta charset="UTF-8" />
<title></title>
</head>
<body>
</body>
<script>
obj=new Object();
obj.username='user';
obj.age=20;
obj.sex='female';
obj.say=function(){
alert('my name is user');
}
document.write('name: '+obj.username);
document.write('age: '+obj.age);
obj.say();
</script>
</html>
2)dom对象
eleobj=document
<html>
<head>
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<img src="dog.png" id="dogid">
</body>
<script>
obj=document.getElementById('dogid');
obj.onclick=function(){
alert(123);
}
</script>
</html>
7.json对象
<html>
<head>
<meta charset="UTF-8" />
<title></title>
</head>
<body>
</body>
<script>
jsonobj={
'username':'user',
'age':'20',
'sex':'female',
'say':function(){
alert(123456)
}
};
jsonobj.say();
</script>
</html>
8.NaN#not a number
例如下图的例子,Number()将字符串内容转成数字,但10asd转不了数字,此时就会报错:NaN
9.null
一般用于提前规划一个变量,比如要定义一个变量str,但是变量未赋值时可以令str=null,避免报错;
10.undefined
当一个对象没有被定义,但需要调用该对象的方法时会报错,如下
三、变量作用域
在JS中只有在函数里面带var的是局部变量,其余全是全局变量
<html>
<head>
<meta charset="UTF-8" />
<title></title>
</head>
<body>
</body>
<script>
function say(){
str='user';
}
say();
alert(str);
</script>
</html>
以上代码中的str变量在部分语言中属于局部变量,在函数外调用会报错,但在JavaScript中他也是全局变量,示例如下:
全局变量:定义时前面如果没有var则全部都是全局变量
局部变量:只有在函数内部前面带var的变量为局部变量,局部变量只能在函数体内使用