1.当在函数内部没用使用var来声明变量的时候,这个变量就会作为全局变量声明;所以注意,在函数中定义变量一定要使用var;
2.javascript常用的变量属性,array,boolean,Date,Math,Number,String,RegExp,Global等;用typeof 查看类型
3.java进行强制类型转换时(Number)a,而js是通过Number(a);
4.使用parseInt可以将字符串开头几个数字转换为int,但如果开头不是数字,就会得到NaN;例如,b="12px" alert(parseInt(b)) ,会显示12
5.对于数组等对象而言,显示的结果就是object不会显示Array
6.alert(typeof as),返回as类型,无定义返回undefined;alert(as instanceof array),判断as是否是Array的实例,如果是返回true;
7.布尔类型:true和false,在js中,非0就是true,特别注意:NaN是返回false,想判断返回时true还是false,可以用alert(!!size),两个非来判断
8.当一个变量没有定义值得时候,是unfinished类型,undefined类型是false
9.特别注意,在js中除了NaN,unfinished,0,这三个数返回false,其余皆为true
10.javascript为弱类型语言,不能用int,string强类型定义出现,会报错的
11.
<script type="text/javascript">
// var x = function() {
// alert("x");
// }
// //此时x就是一个function函数
// x();
// function fn() {
// alert("fn");
// //对于函数而言,直接写return就等于有返回值
// return "100";
// }
// //此时是将y这个变量指向函数fn,可以通过y()来调用函数
// var y = fn;
// fn();
// //可以调用
// y();
// //将函数fn所执行的返回值传给z变量,所以z为100
// var z = fn();
// alert(z);
// alert(y);
//可以使用function来模拟java的类
function Person(name,age) {
//定义了一个Person的属性为name
this.name = name;
//定义了Person的属性为age
this.age = age;
this.address = "云南昭通";
//如果没有用this声明,这个变量就仅仅只是一个局部变量,不是类的属性
var x = 10;
//创建了一个行为
this.say = function() {
alert(this.name+","+this.age);
}
}
//创建了一个对象p1是Person的对象
var p1 = new Person("张三",12);
alert(p1.name+","+p1.address+","+p1.x);
p1.say();
var p2 = new Person("德华",22);
p2.address = "香港";
//可以通过对象["属性字符串"]完成对属性的调用
alert(p2["name"]+","+p2["address"]);
alert(typeof p1);
alert(p1 instanceof Person);
//在js中对于对象而言,可以通过for in来变量对象的属性
for(var a in p1) {
//可以获取对象中的所有显示声明的属性
alert(a+":"+p1[a]);
}
</script>
javascript对象属性的调用:
1.对象名+.+属性名
2.对象名+["属性字符串"]
3.for(var a in p1)语句若要迭代显示对象的属性,不能用"p1.a"来获取属性,需要用"p1["a"]"来获取属性