tag Javascript

標籤
貢獻1,371
1531
06:37 AM · Oct 27 ,2025

@Javascript / 博客 RSS 訂閱

一顆冰淇淋 - 自定義javascript中call、bind、apply方法

call、bind、apply都是Function原型上的方法,用於改變this的指向 自定義函數 js中的call、bind、apply是用c++代碼實現的,我們這裏使用js代碼做一個模式,沒有把所有的邊界情況考慮進來,僅做一個簡單的實現,三個函數在使用的時候有一些需要注意的地方,在定義的時候需要把這些情況考慮進去 當傳入的值是基本數據類型時,call、apply、bind方法會將它轉變成引

this , 前端 , Javascript

收藏 評論

jrainlau - 基於 AST 的代碼自動生成方案

最近接到了一個需求,需要通過第三方提供的 d.ts 文件來定義對應的 JS SDK 文件,其形式如下: 第三方提供的 d.ts 文件: export class SDK { start(account: string); close(); init(id: string): Promise{ result: number; } } 定義出來的 JS SDK 文件: // 初始化 wr

ast , typescript , Javascript

收藏 評論

BENCJL - JavaScript原型鏈:從構造函數、原型、對象實例的關係説起

一開始看MDN的JavaScript指南,沒看明白。主要原因是關於構造函數(constructor)、原型(prototype)、對象實例(object, instance)之間關係的描述太少;直接就給我整個原型鏈讓我挺懵逼的。 於是靠百度來搞懂。我覺得先從這三者關係入手,然後回頭理解原型鏈更容易。 相關資料: (側重關係)構造函數、對象實例、原型對象三者之間的關係 (側重原型鏈

構造函數 , 繼承 , 原型鏈 , 對象 , Javascript

收藏 評論

雲綺棠兮 - JavaScript創建對象的多種方法

方法一 ----通過字面量創建 let obj = { name: 'zhang', age: 12, sayName: function () { console.log(this.name); } } console.log(obj);//{ name: 'zhang', age: 12, sayName: [Function: sayName

prototype , object , Javascript

收藏 評論

一顆冰淇淋 - js面向對象編程,你需要知道這些

javascript中對象由key和value組成,key是標識符,value可以為任意類型 創建對象的方式 1、通過構造函數 var obj = new Object() obj.name = 'alice' obj.age = 18 2、通過字面量 var obj = { name: 'alice', age: 18 } 屬性描述符 對屬性進行精準的操作,比如定義屬性是否可被刪除、遍歷或修

原型 , 構造函數 , 對象 , Javascript

收藏 評論

一顆冰淇淋 - js實現繼承的五種方法及原型的繼承關係

繼承是javascript中實現代碼複用的一種方式,也能綁定對象或者函數之間的關係 為什麼要繼承 比如以下代碼,Person、Student和Teacher構造函數,可以發現他們有一些特徵 Person和Student都有姓名、年齡的屬性和吃的方法,但Student還有學號、分數的屬性和學習的方法 Person和Teacher都有姓名、年齡的屬性和吃的方法,但Teacher還有教學的方法

原型 , 繼承關係 , 繼承 , 原型鏈 , Javascript

收藏 評論

一顆冰淇淋 - ES6之清楚明白的使用類(class)

定義 類是構造函數、原型鏈的語法糖。 定義類有兩種方式 class Student { } var Student = class { } 某些瀏覽器可能無法解析es6及以上的語法,這時候需要通過babel將代碼解析成瀏覽器可識別的語法,定義類的語法通過babel編譯之後就是通過function定義的構造函數。 類和構造函數是一樣的,通過new關鍵字創建,具有prototype屬性 class

ecmascript-6 , 構造函數 , 繼承 , class , Javascript

收藏 評論

前端css和js乾貨 - 煩人的this,7個關於js關鍵詞的面試題

更多文章詳見公眾號【前端css和js乾貨】 在 JavaScript 中,this是函數的調用上下文。 難度在於this具有複雜的行為。 本文,整理了一個關於this關鍵字的7個有趣面試問題的列表。 注意:下面的 JavaScript 片段在非嚴格模式下運行,也稱為 sloppy 模式。 1: 變量 vs 屬性 以下代碼會在控制枱打印什麼: const object = { m

箭頭函數 , this , 前端 , Javascript

收藏 評論

微言 - this 指針詳解

概念 this 是當前函數/當前模塊的運行環境上下文。是一個指針型變量,普通函數中的 this 是在調用時才被綁定確認指向的。 通過不同的 this 調用同一個函數,可以產生不同的結果。 到底如何確認 this 綁定的內容是什麼? this 綁定的規則 1.默認綁定 function a() {} a(); 函數獨立調用的時候,不帶任何修飾的函數引用. 非嚴格模式下 this 指向全局對象

this , 前端 , Javascript

收藏 評論

Sunshine_Lin - 這可能是思否講「原型鏈」,講的最好最通俗易懂的了,附練習題!

前言 大家好,我是林三心,相信大家都聽過前端的三座大山:閉包,原型鏈,作用域,這三個其實都只是算基礎。而我一直覺得基礎是進階的前提,所以不能因為是基礎就忽視他們。今天我就以我的方式講講原型鏈吧,希望大家能牢固地掌握原型鏈知識 很多文章一上來就扔這個圖,但是我不喜歡這樣,我覺得這樣對基礎不好的同學很不好,我喜歡帶領大家去從零實現這個圖,在實現的過程中,不斷地掌握原型鏈的所有知識!!!來吧!!!跟着我

ecmascript-6 , 面試 , 原型鏈 , 前端 , Javascript

收藏 評論

註銷 - 使用 Angular Transfer State 的一個具體例子

Using TransferState API in an Angular v5 Universal App 讓我們用一個具體的例子來説明這篇文章。 我們有一個天氣應用程序,在其側邊欄中顯示城市列表。 當您單擊城市名稱時,該應用程序會顯示該城市的當前天氣。 因為我們希望我們的應用程序是可抓取和可索引的,所以我們使它通用:城市頁面在服務器上呈現,存儲為 HTML 文件並由 HTTP 服務器提供服務。

angularjs , angular , typescript , 前端 , Javascript

收藏 評論

肥仔John - Another Intro for Cookies

Cookies are strings of data that are stored directly in the browser. They are a part of HTTP protocol, defined by RFC 6265 specification. Cookies are often set by server using the response Set-Cookie

csrf , cookie , Javascript

收藏 評論

mall4j - JavaScript中的this綁定 - springboot實戰電商項目mall4j

springboot實戰電商項目mall4j (https://gitee.com/gz-yami/mall4j) java商城系統源碼 JavaScript中的this綁定 在日常的開發中,我們會經常使用JavaScript中的一個關鍵字:this,在常見的編程語言中,幾乎都有this這個關鍵字,但是JavaScript中的this和常見的變成語言中的this不太一樣, 在常見的變成語言(

this的用法 , this , Javascript

收藏 評論

註銷 - SAP Spartacus develop branch 的服務器端渲染啓動方式

(1) yarn build:libs 這個命令行是完成本地 library 的構建。需要將近10分鐘。 (2) 這個命令是完成 shell app 的構建。 yarn build --prod 命令行裏出現的 40.76 來自 .env-cmdrc 文件: 需要將近3分鐘。 (3) 使用如下命令進行服務器端 shell 應用的構建: yarn build:ssr 需要將近1分鐘。

angular , bootstrap , sap , spa , Javascript

收藏 評論

陳東民 - JavaScript 中的數組分組:array.groupBy()

JavaScript 中的數組分組:array.groupBy() 原文: https://dmitripavlutin.com/ja... 由於豐富的標準實用程序庫,許多開發人員喜歡 Ruby 編程語言。例如,Ruby 中的數組有大量的方法。 JavaScript 也逐步豐富了其關於字符串和數組的標準庫。例如,在之前的文章中,我描述了新的array.at()方法。 今天的主角是新的數組組提案(目

ecmascript , 前端 , html5 , Javascript

收藏 評論

安歌 - 詳解JS的繼承(三)-- 圖解Es6的Extend

前言 距離上一篇js的繼承系列已經過去了四年,時不時還有新的讀者評論和回覆,開心之餘也想着更新一下內容,因為當時的內容裏沒有涉及到es6的 extend 實現,所以現在抽空補上。 當然,如果是0基礎的同學或者對於基本的繼承有些遺忘的同學,可以先回顧一下前兩篇: 詳解js中的繼承(一) 詳解js中的繼承(二) 正文 基礎回顧 預備知識 為了使後面的學習過程更絲滑,在開始之前,一起再回顧一下這個構造

ecmascript-6 , extend , 繼承 , Javascript

收藏 評論

一顆冰淇淋 - 三種瀏覽器存儲方案,你還擔心數據無處放嗎

webStorage 基本概念 webStorage提供了兩種存儲方式,localStorage和sessionStorage。 localStorage是持久化存儲,不主動刪除存儲的內容會永久存在 sessionStorage為會話級存儲,關閉瀏覽器則銷燬 具體的區別在於 關閉網頁後重新打開,localStorage會保留,sessionStorage不會被保留 在頁面內實現跳轉,

sessionstorage , indexeddb , localstorage , cookie , Javascript

收藏 評論

編程三昧 - 再解 JavaScript 原型與原型鏈

前言 JavaScript 原型與原型鏈雖然是一個老生常談的話題,但依然困惑着很多人,今天我再來從另一個角度談談這個問題。 兩個疑問 先看這樣一段代碼: let obj = {} obj.__proto__.haha = 'gogo' console.log(obj.haha) // "gogo" 運行一下上面的代碼,輸出結果為 gogo。 針對這個結果,有以下疑問: obj 哪來的 __p

原型 , 原型鏈 , 前端 , Javascript

收藏 評論

tsteam - 理解原型/原型鏈

對於搞前端的小夥伴來説,不管是新手還是老鳥,我想對於原型應該都被折騰過,總是雲裏霧裏的感覺,要是原型都沒搞明白,你還好意思説你是前端攻城獅? 關於對象 當一説到面向對象(Object-Oriented OO)時,你第一反應肯定想到類、對象、接口實現等概念,那我們這裏為啥已上來就説對象呢?因為ECMAScript裏沒有類,另外因為ECMAScript中的函數沒有簽名,所以也沒有接口。 ECMAScr

prototype , javascript原型 , 原型鏈 , Javascript

收藏 評論

看見了 - 【js基礎複習】原型以及原型鏈

目錄 對象是什麼 構造函數 原型對象 實現繼承以及不同繼承方式 對象 為什麼要面向對象編程 代碼邏輯遷移更加靈活、代碼複用性高、高度模塊化 構造函數 function Person(name) { this.name = name this.getName = function(name) { return name } } const

繼承 , 原型鏈 , Javascript

收藏 評論

局外人 - 深入淺出 ESM 模塊 和 CommonJS 模塊

阮一峯在 ES6 入門 中提到 ES6 模塊與 CommonJS 模塊有一些重大的差異: CommonJS 模塊輸出的是一個值的拷貝,ES6 模塊輸出的是值的引用。 CommonJS 模塊是運行時加載,ES6 模塊是編譯時輸出接口。 再細讀上面阮老師提到的差異,會產生諸多疑問: 為什麼 CommonJS 模塊輸出的是一個值的拷貝?其具體細節是什麼樣子的? 什麼叫 運行時加載? 什麼

ecmascript-6 , node.js , commonjs , 前端 , Javascript

收藏 評論

jackdan9 - AST (Abstract Syntax Tree)

AST (Abstract Syntax Tree) 標題 內容 AST AST定義,使用方式,原理 AST AST例子 AST AST應用 AST 定義 AST(Abstract Syntax Tree)抽象語法樹,簡稱AST,它是源代碼(也就是説它不僅僅是應用於JavaSc

ast , 抽象語法樹 , Javascript

收藏 評論

曾經的少年 - javascript 中this的指向

js中this的指向比較繞,和其他語言可能有所不一樣,看很多資料舉的例子也很繞,這裏自己做一下記錄,方便牢記: let a={ a:1, check:function(){ //這裏的this指向的是該對象a的; console.log('check:',this); //匿名函數function() 會把this提升的指向wind

this , Javascript

收藏 評論

呼啦星星星 - 使用grunt腳本創建新分支

使用grunt 寫一個創建新分支的task 首選安裝必要的修飾庫 npm i ora inquirer chalk --save 編寫task 這一步主要為了給用户展示最近的幾個分支用來判斷新建是否重複,如果不用也可以,那就在拉取的時候通過shell判斷下輸入的分支號是否存在,不存在提示就行 function getBranchCurrent(callback) { exec

node.js , grunt , 前端 , Javascript

收藏 評論