javascript高级学习笔记整理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

javascript⾼级学习笔记整理
复制代码代码如下:
<script type="text/javascript">
function Person() {
= "张三";
this.age = 0;
var nickName = "⼩三"; //类似私有变量,函数中的局部变量在函数执⾏完后⾃动销毁.
this.SayHi = function () {
alert("我的名字是" + + " ,⼤家都叫我" + nickName + " ,我今年已经" + this.age + "岁了");
}
}
/////////////////////////
function Student(myclass, myteacher) {
this.myClass = myclass;
this.myTeacher = myteacher;
this.SayHi = function () {
if (this.myClass != undefined) {
alert("我是"+this.myClass+"的"+);
}
else if (arguments.length == 2) {
alert("我是" + this.myClass + "的" + + ", 我的⽼师是" + this.myTeacher);
}
else {
new Person().SayHi();
}
}
}
Student.prototype = new Person(); //创建继承关系
//////////////
onload = function () {
var p = new Person(); //类似实例化类Person,对象的创建(解析两次)并不是推荐⽤法
p.age = 18; //给Person的age赋值, age相当于属性
p.SayHi(); //调⽤Person⾥的公共⽅法,输出结果:我的名字是张三 ,⼤家都叫我⼩三 ,我今年已经18岁了!
var stu = new Student('三年级⼆班', 'jameszou'); //有参构造函数
= 'le'; //⽗类的属性
stu.SayHi(); //Student重写了SayHi⽅法
var stu1 = new Student();
stu1.myClass = '三年级三班';
stu1.myTeacher = 'ly';
stu1.SayHi(); //输出:我是三年级三班的张三"
var stu2 = new Student();
stu2.age = 20;
stu2.SayHi();//输出:?:我的名字是张三,⼤家都叫我⼩三,我今年0岁了
}
</script>
1)Undefined.⼀个变量被定义但是没有给他赋值.
2)Null.(引⽤类型)
3)Number.数值类型
var num = 1.0这个时候num是int类型,只有当⼩数点后⾯不为0的时候才是浮点型,
isNaN()可以判断传⼈的值是否为Number类型,
var num = parseInt('112412aaa11'); num=112412;
4)Boolean.
5)String
6)function
Function类型:
执⾏环境:就是当前函数(⽅法)所处在的⽗环境。

⽐如在window下执⾏的函数他的执⾏环境就是window。

没有块级作⽤域:if等语句没有⽤块状作⽤域,if,for等⽤⼤括号括起来的代码并不能形成⼀个块状作⽤域。

var变量声明:⽤var声明变量时,会他把添加到最近的可⽤环境,即不⽤var定义的⼀个变量是全局变量.
声明语句会⾸先执⾏,以保证程序的运⾏.
垃圾回收:变量对象设为null的时候原对象将被⾃动回收.
属性:
this.函数所在的执⾏环境,函数在执⾏时所处的作⽤域.
prototype(原型).
Object:
Object类型本质是⼀个⽆序的键值对列表,类似于集合,json格式。

创建Object可以有多种⽅式:
1)var obj = new Object(); ="lz"; obj.age=17;
2)var s = {}; ="ly"; s.age=18;
3)var s = {"name":"ln","age":"17"};
访问Object对象的属性的⽅法:
1)
2)obj["name"]
Array类型:
相当于List<T>,length属性是可读写的(可以利⽤这⼀点删除数组元素)
数组的栈⽅法:(后进先出)
push() 往⾥加 pop() 从栈头往外拿
数组的队列⽅法:(先进先出)
shift() 从队列尾部往外拿 unshift() 从队列尾部往⾥加
排序:
sort() 排正序,将数组中的数据按照⼀定的顺序排列,参数可以传递⼀个可传⼊⽐较⽅法(类似于接⼝) reverse() 翻转 连接数组: concat()
var colors=["a","b"];
var newcolor=colors.concat("yellow",["c","d"]);//colors有5个元素。

concate⽅法中若传⼊数组,会把该数组拆分,将其中元素加⼊⽬标数组中。

若传⼊json格式数据,⼀个json数据就看成⼀个元素加⼊数组。

typeof: return true or false,
instanceof 判断复杂类型的类型 return true or false,如果⽤它来判断值基本类型类型永远返回false,
eval()他会把eval()中的参数解析出来,插⼊到eval执⾏的位置,效果相当于在相应的位置直接写⼊JS代码。

相关文档
最新文档