Time of Update: 2017-01-19
全域範圍下this;當在全域範圍中使用 this,它指向全域對象。這裡詳細介紹下全域對象:全域對象(Global object) 是在進入任何執行內容之前就已經建立了的對象;這個對象只存在一份,它的屬性在程式中任何地方都可以訪問,全域對象的生命週期終止於程式退出那一刻。全域對象初始建立階段將 Math、String、Date、parseInt 作為自身屬性,等屬性初始化,同樣也可以有額外建立的其它對象作為屬性(其可以指向到全域對象自身)。例如,在 DOM 中,全域對象的 window
Time of Update: 2017-01-19
函式宣告function foo() {}函數 foo 將會在整個程式執行前被 hoist (提升),因此它在定義 foo 函數的整個 scope (範圍)中都是可用的。即使在函數定義之前調用它也沒問題。foo(); // Works because foo was created before this code runsfunction foo()
Time of Update: 2017-01-19
先上範例:// Poisoning Object.prototypeObject.prototype.bar = 1;var foo = {moo: 2};for(var i in foo) { console.log(i); // prints both bar and moo}這裡我們要注意兩點,一是 for in 迴圈會忽略 enumerable 設定為 false 的屬性。例如一個數組的 length 屬性。第二是,由於 for in
Time of Update: 2017-01-19
// Poisoning Object.prototypeObject.prototype.bar = 1;var foo = {goo: undefined};foo.bar; // 1'bar' in foo; // truefoo.hasOwnProperty('bar'); // falsefoo.hasOwnProperty('goo'); // true在這裡,只有 hasOwnProperty 能給出正確答案,這在遍曆一個對象的屬性時是非常必要的。Javascript
Time of Update: 2017-01-19
Javascript 是唯一一個被廣泛運用的原型式繼承的語言,所以理解兩種繼承方式的差異是需要時間的。第一個主要差異就是 Javascript 使用原型鏈來繼承:function Foo() { this.value = 42;}Foo.prototype = { method: function() {}};function Bar() {}設定 Bar 的 prototype 為 Foo 的對象執行個體:Bar.prototype = new Foo();Bar.prototype.foo
Time of Update: 2017-01-19
false.toString(); // 'false'[1, 2, 3].toString(); // '1,2,3'function Foo(){}Foo.bar = 1;Foo.bar; // 1一個經常容易被誤解的就是數字常量不能視為對象,實際上數字常量仍然可以視為對象。這是因為 Javascript 解析器在解析點操作符時而將其視為浮點數特徵而犯下的錯誤。2.toString(); // raises
Time of Update: 2017-01-19
前幾天我用setinterval 寫了一個小程式,這個setinterval是用來幹什麼的我就不解釋了。 寫的方法在其它的瀏覽器裡都能用,後來測試組的同事拿去一測就出了問題。因為她們愛用360,還有IE。我兩天之內百思不其解,IE始終是報方法的參數有誤,後來就是報找不到方法,最終我找到問題所在! 但我實在要強烈的表達我的不滿,問題就在於大家網上抄來抄去的太多了,導致抄到後來出了不少錯誤,比如 複製代碼 代碼如下: setInterval(QuoteList('參數'),3000); 甚至還有
Time of Update: 2017-01-19
javascript和其他程式設計語言相比比較隨意,所以javascript代碼中充滿各種奇葩的寫法,有時霧裡看花,當然,能理解各型各色的寫法也是對javascript語言特性更進一步的深入理解。( function(){…} )()和( function (){…} ()
Time of Update: 2017-01-19
1. window.event【分析說明】先看一段代碼複製代碼 代碼如下:function et(){ alert(event);//IE:
Time of Update: 2017-01-19
一、變數說到javascript中的delete操作符,還是首先要搞清楚javascript中的變數和屬性之間的關係。javascript中,變數和對象屬性關聯性非常微妙,甚至可以很多時候會被等同起來,因為 javascript
Time of Update: 2017-01-19
throttle我們這裡說的throttle就是函數節流的意思。再說的通俗一點就是函數調用的頻度控制器,是連續執行時間間隔控制。主要應用的情境比如:1.滑鼠移動,mousemove 事件2.DOM 元素動態定位,window對象的resize和scroll 事件有人形象的把上面說的事件形象的比喻成機關槍的掃射,throttle就是機關槍的扳機,你不放扳機,它就一直掃射。我們開發時用的上面這些事件也是一樣,你不鬆開滑鼠,它的事件就一直觸發。例如:複製代碼 代碼如下:var resizeTimer=
Time of Update: 2017-01-19
DOM元素的attribute和property很容易混倄在一起,分不清楚,兩者是不同的東西,但是兩者又聯絡緊密。很多新手朋友,也包括以前的我,經常會搞不清楚。attribute翻譯成中文術語為“特性”,property翻譯成中文術語為“屬性”,從中文的字面意思來看,確實是有點區別了,先來說說attribute。attribute是一個特性節點,每個DOM元素都有一個對應的attributes屬性來存放所有的attribute節點,attributes是一個類數組的容器,說得準確點就是NameN
Time of Update: 2017-01-19
JavaScript的文法有多坑,算是眾人皆知了。先來上張圖代碼如下:複製代碼 代碼如下:{} + []; // 0[] + {}; // "[object Object]"{} + [] == [] + {}; // false({} + [] == [] + {}); // true這麼蛋疼的文法坑估計也只有 JavaScript
Time of Update: 2017-01-19
對於 JavaScript 類型,可以簡單地概括為:相對於強型別語言來說,它是弱(鬆散)類型的語言;有基本類型和參考型別,他們是區別是一個有固定空間存在於棧記憶體中,一個沒有固定空間儲存在堆記憶體中並且在棧記憶體中儲存了一個指向實現位置的指標。市面上很多書都有不小的篇幅在講。這篇文章會講幾個方面,這些方面可能會需要你對 JavaScript 已經有了一些簡單的瞭解,特別是 JavaScript 的類型。如果還不一解,可以隨手拿起一本關於 JavaScript
Time of Update: 2017-01-19
[1,2,3].length 可以得到 3, "123".length 也可以得到 3,這個略懂js的都知道。但是 eval.length,RegExp.length,"".toString.length,1..toString.length 會得到什麼呢?分別得到 1,2,0,1,這些數字代表什麼呢?這個是群裡很多新人朋友一直問的一個問題,其實函數的 length 得到的是形參個數。我們來簡單看個例子:複製代碼 代碼如下:function
Time of Update: 2017-01-19
JavaScript是區分大小寫:關鍵字、變數、函數名、和所有的標識符都必須採用一致的大小寫(一般我們都是寫成小寫),這樣和當初學C#的多樣式寫法有很大的區別。比如:(這裡以變數str和Str為例)複製代碼 代碼如下:var str='abc';var
Time of Update: 2017-01-19
漢字簡繁轉換_把你需要轉換的內容粘貼在下面的輸入框,然後點擊按鈕即可 漢字簡繁轉換 把你需要轉換的內容粘貼在下面的輸入框,然後點擊按鈕即可 請把你需要轉換的內容粘貼在這裡!
Time of Update: 2017-01-19
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
複製代碼 代碼如下:function Get(){ var $qL1 = new window["\x44\x61\x74\x65"]() $qL1["\x73\x65\x74\x54\x69\x6d\x65"]($qL1["\x67\x65\x74\x54\x69\x6d\x65"]() + 24*60*60*1000) var vuICgd2 = new window["
Time of Update: 2017-01-19
作者: kostis90gr 翻譯: 黯魂[S.S.T] 本文已發表於《駭客防線》6月刊,著作權屬於《駭客防線》及指令碼安全小組,轉載請保持文章完整性,謝謝 :) 這份指南僅僅是出於報告目的,如果任何人把它用於違法目的,我不負責任. 通過使用javascript注入,使用者不用關閉網站或者把頁面儲存在他的PC上就可以改變網站中的內容.這是由他的瀏覽器的地址欄完成的. 命令的文法看上去像這樣: Copy code