1.function test(a,b,c){
this.a=a;
this.b=b;
this.c=c;
}
var s=new test(10,20,30);
s.prototype.addNew=500; //prototype为test对象添加addNew属性。
alert(s.addNew) //弹出的是500
2.try{
}catch(e){} try大括号中的内容报错的话。catch就会作出相应的操做。
3.webstorm快捷键:
shift+tab 代码左移。
ctrl+alt+L 格式化代码
ctrl+] / [ 光标移动到代码块的前面或后面
var eventEmitter=new require('events').EventEmitter()
eventEmitter.addListener(event,listener) 为指定时间添加一个监听器到监听器数组的尾部
eventEmitter.on('xxx',function(){}) 未指定事件注册一个监听器
eventEmitter.once('xxx',function(){}) 为指定时间注册一个单次监听器
eventEmitter.removeListener(event,listener) 移除指定事件的某个监听器
eventEmitter.removeAllListeners([event]) 移除全部时间的全部监听器,若是指定时间,移除指定事件的全部监听器
eventEmitter.setMaxListeners(n) 默认状况下,EventEmitter 若是添加的监听器超过10个就会输出警告信息,该函数提升监听器的们默认限制数量
eventEmitter.listeners(event) 指定事件的监听器数组
eventEmitter.emit(event,[arg1],[arg2],[...]) 按参数顺序执行每一个监听器,若是事件有注册监听返回true,不然返回false
eventEmitter.listenerCount(emitter,event) 返回指定事件的监听器数量
eventEmitter.newListener(event,listeners) 该事件在添加新监听器时被触发
this.http.get(url,{headers:new Headers({'Content-type':'application/json'})})
.toPromise()
.then(
res=>{ }
)
res为返回值,
4.声明变量:
function add(num1,num2){
sum=num1+num2;
}
var result=add(10,20);
alert(sum)
!!!!1.若是初始化变量时没有使用var声明,该变量会自动被添加到全局环境。
!!!!2.为了确保有效的回收内存,应该及时解除再也不使用的全局对象、全局对象属性以及循环引用变量的引用。
!!!!3.var name={"a":1,"b":2,"c":3} 对象的获取:1、 name.a 2、name["a"] 第二种能够把变量写入中括号
!!!!4.var name=[1,2,3] name.length能够设置数组的长度。如2.就只剩下[1,2].如name[10]="123";数组变为11长度。中间都为undefined
-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
1.typeof 判断变量类型
var a='ss'; console.log(typeof a); //string
var b=null; console.log(typeof b); //object
2.instanceof 判断一个变量是否某个对象的实例
var a=new Object('22'); document.write(a instanceof Object/String);
3.valueof 返回原始值
var test= new Number('sss'); test.valueOf(); //NaN
4.var test=new Object(); 建立Object引用类型的一个新实例。把该实例保存在test变量中。
5.'!'操做符,先判断内容的真假,后作相反操做。
6.隐式转换:var a=true;var b=2;console.log(a+b) //3
7.var test= new Array(1,2,3,4);
Array.isArray(test) //true
8.变量未定义与变量为命名
9.小数相加有bug,如0.1+0.2。结果会有偏差。
10. var ss = new Sum(); //初始化变量。
console.log(Sum.prototype.isPrototypeOf(ss)); //返回 true。
11.hasOwnProperty
第四章 变量、做用域和内存问题
1.引用类型和基本类型
基本类型,操做保存在变量中的实际值。
引用类型,在操做对象时,操做对象的引用,而不是实际的值。不能直接操做对象的内存空间
2. function setName(obj) {
obj.name = "Nicholas";
obj = new Object();
obj.name = "Greg";
}
var person = new Object();
setName(person);
alert(person.name); // "Nicholas"web