JavaScript基本语法
原创
©著作权归作者所有:来自51CTO博客作者wx62eb7326068f3的原创作品,请联系作者获取转载授权,否则将追究法律责任
1.js基于对象,而Java是面向对象。js和Java是两门不同的语言
面向对象,也就是对象和程序分离,程序可以操纵对象,程序独立与对象。
基于对象,也就是对象已经有了,程序在它的基础上才能执行,没有对象,就没有这个程序。
2.js可以内嵌到HTML中,代码不需要像C或者Java那样先编译后执行,而是直接在浏览器读一行,执行一行,后面的代码有bug,不会影响前面的代码的执行。
3.js的数据类型有五种:boolean,number,string,object,undefined
boolean:和C一样。值得注意的是,非零为true,零为false
number:所有数值都是number类型,没有int ,double之类的
string:字符串类型,s小写,没有char类型
object:所有引用类型都是object类型
undefined:当一个变量定义了,但未赋值,就是undefined
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function f1(){
var a = true;
alert(typeof(a));//boolean
a = 1;
alert(typeof(a));//number
a = 1.2;
alert(typeof(a));//number
a = '11';
alert(typeof(a));//string
a = [1,2];
alert(typeof(a));//object
var b;
alert(typeof(b));
}
f1();
</script>
</head>
<body>
</body>
</html>
3.js是弱类型语言,但其实并不弱
(1)前面定义过的变量,后面可以重用为不同的类型
function f2(){
var a = 1;
alert(a);//1
a = 'abc';
alert(a);//abc
a = true;
alert(a);//true
}
(2)多个脚本段之间的变量是可以共用的,也就是全局变量。而function( )内的变量是局部的
<script type="text/javascript">
var i = 1;
</script>
<script type="text/javascript">
alert(i);//1
</script>
(3)一个变量,可以不声明直接赋值使用。也可以不赋值直接使用(会是undefined)。但是不声明也不赋值就会挂
<script type="text/javascript">
function f3(){
a = 2;
alert(a++);//3
var b;
alert(b);//undefined
alert(c);//这个不会执行,挂了
}
f3();
</script>
(4)与Java不同,JS小数也可以++,--,字符串也可以自动转换为number
<script type="text/javascript">
function f1(){
var a = 3.1;
alert(++a);//4.1
var b = false;
alert(++b);//1
b = true;
alert(++b);//2
c = '12';
alert(c-2);//10
alert(20-c);//8
}
f1();
</script>
(5)关注‘=’和‘==’
有个易犯的错误就是if(a=-1){...}不管a是什么,花括号里面的代码一定会执行的。因为-1赋值到a中了。
正确的写法是if(-1==a){...}一些公司直接规定数值写前面,这样误写成‘=’就会报错,不会有这个bug了。