javascript高级学习笔记整理

一.js面向对象的一种实现
复制代码 代码如下:

  

二.6种简单数据类型:
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(); 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,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代码

你可能感兴趣的:(javascript高级学习笔记整理)