javascript學習筆記

var聲明的變量不可以被刪除
位運算符會將NaN虱肄、Infinity秀撇、-Infinity都轉換為0

var result = 2 & 1 // 判斷奇偶 為0是偶數(shù) (奇數(shù)的二進制碼的最后一位數(shù)肯定是1)
var num = 1.1 | 0; // 1(浮點數(shù)是不支持位運算的蜂厅,所以會先把1.1轉成整數(shù)1再進行位運算喊巍,就好像是對浮點數(shù)向下求整)
//(最高位為1代表負數(shù),負數(shù)的二進制轉化為十進制:符號位不變黄琼,其他位取反加1)
var num = 1; // 二進制 00000000000000000000000000000001
var num1 = ~num; // 二進制 11111111111111111111111111111110

正數(shù)的無符號右移與有符號右移結果是一樣的。負數(shù)的無符號右移會把符號位也一起移動整慎,而且無符號右移會把負數(shù)的二進制碼當成 正數(shù) 的二進制碼
我們可以利用無符號右移來判斷一個數(shù)的正負

function isPos(n) {
  return (n === (n >>> 0)) ? true : false;    
}
isPos(-1); // false
isPos(1); // true
==

如果一個是字符串一個是數(shù)字 則把字符串轉換成數(shù)字然后進行比較

< 比較規(guī)則
'11' < 3; //false 數(shù)字的比較 11 < 3
'one' < 3; //false 數(shù)字的比較 NaN < 3
數(shù)組in脏款,是判斷是否有相應的索引而不是值
var data = [7, 8, 9];
0 in data; //true
3 in data; //false
eval
var geval = eval;
var x = "global", y = "global";
function f(){
  var x = "local";
  eval("x += 'changed';");
  return x;
}
function g(){
  var y = "local";
  geval("y += 'chnaged';");
  return y;
}
console.log(f(), x); //localchanged global
console.log(g(), y); //local globalchnaged

數(shù)組delete

var arr = [1, 2, 3];
delete arr[0];
a.length; //3
空語句
for(i = 0; i < a.length; a[i++] = 0);
with
var o = {};
with(o){
    x = 1;
}
//o沒有x屬性所以這里x=1是定義了一個全局的x
//如果o有x屬性則修改o對象x屬性的值
"use strict"

在嚴格模式中,調用的函數(shù)中的一個this值是undefined裤园。(在非嚴格模式中撤师,調用的函數(shù)中的this值總是全局對象)∨±浚可以利用這種特性來判斷javascript實現(xiàn)是否支持嚴格模式:

var hasStrictMode = (function(){"use strict"; return this === undefined}());

通過原型繼承創(chuàng)建一個新對象

function inherit(p){
  if(p == null) throw TypeError();
  if(Object.create)
    return Object.create(p);
  var t = typeof p;
  if(t !== 'object' && t !== 'function') throw TypeError();
  function f(){};
  f.prototype = p;
  return new f();
}

判斷屬性是否可以被枚舉

var o = {a: 1};
o.propertyIsEnumerable("toString"); //false
o.propertyIsEnumerable("a"); //true

Object.getOwnPropertyNames會返回對象所有的自有屬性剃盾,包括不能被枚舉的

var o = {x: 1, y: 2};
Object.defineProperty(o, 'z', {
    enumerable: false
})
Object.getOwnPropertyNames(o); //['x', 'y', 'z']
Object.keys(o); //['x', 'y']
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市淤袜,隨后出現(xiàn)的幾起案子痒谴,更是在濱河造成了極大的恐慌,老刑警劉巖铡羡,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件积蔚,死亡現(xiàn)場離奇詭異,居然都是意外死亡烦周,警方通過查閱死者的電腦和手機库倘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門临扮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人教翩,你說我怎么就攤上這事杆勇。” “怎么了饱亿?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵蚜退,是天一觀的道長。 經常有香客問我彪笼,道長钻注,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任配猫,我火速辦了婚禮幅恋,結果婚禮上,老公的妹妹穿的比我還像新娘泵肄。我一直安慰自己捆交,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布腐巢。 她就那樣靜靜地躺著品追,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冯丙。 梳的紋絲不亂的頭發(fā)上肉瓦,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音胃惜,去河邊找鬼泞莉。 笑死,一個胖子當著我的面吹牛船殉,可吹牛的內容都是我干的戒财。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼捺弦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了孝扛?” 一聲冷哼從身側響起列吼,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苦始,沒想到半個月后寞钥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡陌选,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年理郑,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹄溉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡您炉,死狀恐怖柒爵,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情赚爵,我是刑警寧澤棉胀,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站冀膝,受9級特大地震影響唁奢,放射性物質發(fā)生泄漏。R本人自食惡果不足惜窝剖,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一麻掸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赐纱,春花似錦脊奋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至淫痰,卻和暖如春最楷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背待错。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工籽孙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人火俄。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓犯建,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓜客。 傳聞我的和親對象是個殘疾皇子适瓦,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容