JavaScript笔记

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"]"来获取属性

你可能感兴趣的:(JavaScript)