[JS] javascript中的原型鏈01 prototype&__proto__
先給出名詞的定義: 1、實例對象-被new出來對象稱之為實例對象 例如: const p1 = new Person() p1就是實例對象 2、普通對象-未經new,直接聲明的對象是普通對象 例如:const p2 = { name: "John" } p2就是普通對象 3、prototype, 中文翻譯:原型對象 4、__proto__ ,中文翻譯:原型 (英文可以讀作dunder
先給出名詞的定義: 1、實例對象-被new出來對象稱之為實例對象 例如: const p1 = new Person() p1就是實例對象 2、普通對象-未經new,直接聲明的對象是普通對象 例如:const p2 = { name: "John" } p2就是普通對象 3、prototype, 中文翻譯:原型對象 4、__proto__ ,中文翻譯:原型 (英文可以讀作dunder
這是構造函數和構造函數的prototype之間的關係 Person.prototype.constructor === Person; // true 那麼對Person創建的實例對象p1 p1.__proto__.constructor === Person; // true 在瀏覽器控制枱中輸入如下代碼 function Person(name) { this.name = name;
書接上文[[JS] javascript中的原型鏈02 prototypeconstructor](https://segmentfault.com/a/1190000043925349) 為了邏輯關係的清晰,我們去掉表示constructor的線條,加上Object對象,用.__proto__到達原型鏈的終點null。 javascript中原型鏈的終點是null,(Object.pro
開發中同事問了我一個問題 Q: GET請求能不能用request body來傳遞數據? 這個問題的場景是,他們的前後端溝通需要攜帶複雜的參數,用POST方法的request body(key value)的形式傳參會更加明瞭,但又覺得不夠語義化,所以想到了GET + request body。 A: HTTP規範rfc2616中是沒有對GET方法的使用body做限制( HTTP 規範並
在flex佈局中,定義一行三列並列的3個div,其中2個div寬度寫定,第3個div隨着父容器寬度由flex自適應。這是個很常見的佈局,平常使用沒有啥問題。 現在在第3個div中放置一段長的純文本(文本內容單行放置寬度大於第3個div的寬度),且設置white-space: nowrap,此時就會出現第3個div的寬度被文本撐開,變為單行文本的寬度,而不受flex佈局的約束。且由於第3個div的寬
前端項目被掃描出了一個CORS漏洞,記錄一下漏洞的復現和修復。 首先要明確,這個問題出在哪裏。 我負責的系統是一個前後端分離的應用,前端部署使用Nginx做反向代理。對於前端應用來説client是瀏覽器,瀏覽器發起的請求都是通過nginx配置轉發到不同後端的服務器。 舉個例子,某個用户用瀏覽器瀏覽頁面,發起了4個請求: front.domain/api/auth/login - auth服務
axios 原版本 0.19.2,升級到0.27.2 出現了部分post請求發送異常的情況。 經查發現雖然大版本號同為0,但是0.27.2的內部邏輯有變更。 (0.27.2版本去掉了一些0.19.2版本中的對config的兼容性處理),導致0.19.2中不規範的api使用方式在0.27.2中無法生效。 問題發生在使用類似於下面這種形式發送post請求。 axios.post(ur
在請求發送階段(未取得返回結果時),前端(瀏覽器)取消請求,捕獲該狀態,並做異常攔截處理。 思路: 1、記錄每個請求的cancelToken。 2、在頁面路由更新時(從頁面A進入頁面B時)取消A頁面未完成的請求。 3、把"取消請求"的異常狀態做一個特殊的異常標記。 4、全局請求攔截器對這種特殊的異常標記做靜默處理。 代碼實現: 1、全局的請求實例攔截器中,增加配置,通
對一個非rsbuild的既有項目,遷移到rsbuild,有兩種途徑;其一是用rsbuild官方工具新建空殼項目,將舊項目的代碼文件搬到新的殼項目中,並安裝項目需要的依賴項,編寫rsbuild.config.ts配置;其二是修改舊項目的依賴項,刪除無關依賴和無關配置,安裝rsbuild項目所用的依賴項,編寫rsbuild.config.ts配置。 pnpm i @rsbuild/core @r
記錄用java後端(spring boot)發送一個特殊的GET請求時遇到的問題 特殊的GET請求: 形如 http://target.domain.com?params={id: 22, name: "Mike"} 上面這個特殊的GET請求,無論是下面哪種格式(雙引號是否完全),在postman以及瀏覽器中都能正常獲取數據 http://target.domain.com?params={
前言: 本文中的用户端(client)約等於瀏覽器。 服務端就是sever。 cookie、session、token都是由sever生成,保存在client端。 三者最大的不同在於服務端對cookie、session、token的處理。 cookie 1、在client輸入賬號密碼,點擊登錄發送請求 a到sever,sever驗證賬號密碼通過,獲知用户信息。 2、這
接上文[《[axios] axios中get請求的發送》](https://segmentfault.com/a/1190000043982778) 針對post請求,建議下面這兩種 1、axios(config) (建議使用) 舉例: axios({ method: 'post', url: '/fund/info', data: { fundId: "00000