繼承技巧
- 在
JavaScript中繼承是指一個對象基於另一個對象 JavaScript是利用prototype來實現繼承以及來管理繼承。prototype對象用途是所有實例共享的屬性。- 所有對象默認繼承來自
Object.prototype
技術博客
在JS裡所有事物都是對象,function也是對象。
構造函數透過new operator 可以創建新的對象Object。如不使用 new 和一般函數沒有區別。
- 在
js裡,new是用來創建一個對象new構造函數(參數) -> 實例對象
基本 new 實現 思路:
可以參考 ☞ 我寫了一個實現 new
在學習 JS,往往都會對 this 的值很模糊,也讓人困擾!以為認為 this 是指向某個對象,但往往不是你想那樣。正確來說,誰調用函數,那麼this 就指向調用者。但是要特別注意如果使用嚴謹模式 this 會轉變成 undefined。
function fn() {
'use strict'
console.log(this) // undefined
}
首先我們需要了解什麼是同源策略 (Same origin policy),目前所有 browser 都遵守此策略。
同源策略目的是資訊安全,防止他人竊取數據或 CSRF(Cross-site request forgery)。
所謂同源是指三個相同:
非同源情況下,browser 對它有何限制:
Cookie, LocalStorage 和 IndexDB 無法讀取DOM 無法獲得Ajax 請求被阻止只要三個【以上】不相同的話,就是跨域!
跨域是指當前 browser 一個網站可以向另一個網站請求讀寫資源。也就是說發起請求 abc.com (origin) 與請求指向資源 xxx.com (origin) 不相同就是跨域。但由於 browser 考量安全機制 (同源策略) 對跨域請求會做出限制!