源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript高级学习笔记整理

  • 时间:2021-06-05 19:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript高级学习笔记整理
[b]一.js面向对象的一种实现[/b]
[u]复制代码[/u] 代码如下:
  <script type="text/javascript"> function Person() { this.name = "张三"; this.age = 0; var nickName = "小三"; //类似私有变量,函数中的局部变量在函数执行完后自动销毁. this.SayHi = function () { alert("我的名字是" + this.name + " ,大家都叫我" + nickName + " ,我今年已经" + this.age + "岁了"); } } ///////////////////////// function Student(myclass, myteacher) { this.myClass = myclass; this.myTeacher = myteacher; this.SayHi = function () { if (this.myClass != undefined) { alert("我是"+this.myClass+"的"+this.name); } else if (arguments.length == 2) { alert("我是" + this.myClass + "的" + this.name + ", 我的老师是" + 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'); //有参构造函数 stu.name = '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>
[b]二.6种简单数据类型: [/b]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(原型). [b]三.复杂类型[/b] Object: Object类型本质是一个无序的键值对列表,类似于集合,json格式。 创建Object可以有多种方式:   1)var obj = new Object(); obj.name="lz"; obj.age=17;   2)var s = {}; s.name="ly"; s.age=18;   3)var s = {"name":"ln","age":"17"}; 访问Object对象的属性的方法:   1)obj.name   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数据就看成一个元素加入数组。 [b]四.其他 [/b]typeof: return true or false, instanceof 判断复杂类型的类型 return true or false,如果用它来判断值基本类型类型永远返回false, eval()他会把eval()中的参数解析出来,插入到eval执行的位置,效果相当于在相应的位置直接写入JS代码
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部