繼承技巧
- 在
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 考量安全機制 (同源策略) 對跨域請求會做出限制!