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