tag javascript專題系列

標籤
貢獻12
58
10:56 PM · Nov 05 ,2025

@javascript專題系列 / 博客 RSS 訂閱

註銷 - 如何用JavaScript實現2+2=5?

我大學畢業找工作時,經常做一些稀奇古怪的面試題。這不,給大家分享一道整蠱的面試題,它其實不能算一道正式的面試題,大家可以用它來捉弄你們那些程序員朋友。 題目:如何用JavaScript實現2+2=5? 答案如下。 新建一個txt文件,然後把後綴名改為.html, 再用瀏覽器打開。 html script g = function () { H = 3 return H + H } f

javascript繼承 , javascript性能 , javascript原型 , javascript專題系列 , Javascript

收藏 評論

沉浸式趣談 - 熱點面試題:聊聊對 this 的理解?

前言 歡迎關注 『前端進階圈』 公眾號 ,一起探索學習前端技術...... 前端小菜雞一枚,分享的文章純屬個人見解,若有不正確或可待討論點可隨意評論,與各位同學一起學習~ 聊聊對 this 對象的理解? 定義 在執行上下文中的一個屬性,它指向最後一次調用這個屬性或方法的對象。通常有四種情況來判斷。 四種情況如下 1. 函數調用模式:當一個函數不是一個對象的屬性時,直接作為函數來調用時

面試問題 , this , javascript專題系列 , 前端 , Javascript

收藏 評論

smallStone - V8引擎編譯js原理

網絡請求》scriptText》Parser轉義》AST》Ignition編譯》ByteCode字節碼》提取循環執行》優化編譯器 執行js代碼 解析源碼並轉成抽象語法樹(AST) 基於AST,Ignition解釋器產出字節碼 同時運行代碼並收集類型反饋 引擎檢測到常用行為(循環)發生,以及使用的數據類型,為了更高效,字節碼可以反饋數據一起被髮送到優化編譯器。優化編譯器會經過假設實現高

javascript專題系列

收藏 評論

註銷 - 使用JavaScript將當前頁面保存成PDF,支持圖片和文字的保存

前端開發的朋友們可能會遇到這個需求:將您負責開發的網頁的全部內容,包括文字和圖片,一起保存成一個PDF文件。如果採用屏幕截圖的話,默認Windows操作系統的截圖按鈕無法完整截取超過一屏幕的屏幕內容。 我在網上找了一段時間,蒐集到了一些解決方案,在這裏分享給廣大程序員。 這個解決方案包含了兩個步驟,將前端頁面轉化為PDF: 1. 遍歷當前網頁的DOM結構,收集所有DOM樹上每個節點的元素信息及相應

pdf導出 , pdf , javascript繼承 , javascript專題系列 , Javascript

收藏 評論

小磊哥er - [書籍翻譯] 《JavaScript併發編程》 第二章 JavaScript運行模型

本文是我翻譯《JavaScript Concurrency》書籍的第二章,該書主要以Promises、Generator、Web workers等技術來講解JavaScript併發編程方面的實踐。 完整書籍翻譯地址:https://github.com/yzsunlei/javascript_concurrency_translation 。由於能力有限,肯定存在翻譯不清楚甚至翻譯錯誤的地方,歡迎

javascript繼承 , javascript性能 , javascript原型 , javascript專題系列 , Javascript

收藏 評論

亖混子 - JavaScript系列 事件

一步,一步前進の一步 事件是文檔或者瀏覽器窗口中發生的一些交互瞬間。JS註冊事件處理程序來預訂事件,當事件發生的瞬間來執行相應的代碼,進而實現 JS 和 HTML(即文檔或者瀏覽器窗口) 的交互。 事件流 事件流描述的是從頁面中接收事件的順序。 用手指戳一下屏幕上的同心圓的中心,先點到的是最外圍的大圓,還是最核心的小圓呢?這個就是事件流要處理的本質問題。早起的 IE 和 Netscape

javascript專題系列 , Javascript

收藏 評論

zsirfs - 深入一點 - 為什麼説splice 效率低呢

原文: https://zswfx.com/articles/5da713302ddd022595ff506a 我們在使用 Array.prototype.splice 方法的時候,都會提及説它速度慢,效率低。尤其在例如 Vue或者React 框架中也不推薦使用,原因是為什麼呢? splice 方法 方法介紹如下: 方法也比較明瞭,就是在數組內刪除或者添加元素。 如下示例: // 添加一個

javascript專題系列 , Javascript

收藏 評論

註銷 - 小技巧:如何突破某些網站只能登陸後才能進行文字拷貝的限制

我寫公眾號文章時,經常需要從一些網站的文章上查閲一些資料。比如我想把這個網頁上的一個標題“SAP Fiori 2.0用户體驗設計概念獲紅點大獎”進行拷貝。 然而當我按了鍵盤上的拷貝快捷鍵Ctrl C後,卻收到這個提示,告訴我只有登陸後才能夠進行復制操作。 可是為了登陸我得先註冊,有點麻煩。如果趕時間的話,可以使用這篇文章的小技巧,達到不用先註冊再登陸,也能任意拷貝網頁文字的效果。 下面是詳細步

webpack , javascript專題系列 , HTML , Javascript , Web

收藏 評論

鬆寶寫代碼 - javascript深入理解-從作用域鏈理解閉包

一、概要 紅寶書(P178)對於閉包的定義:閉包就是有權訪問另外一個函數作用域中變量的函數。 MDN,對於閉包的定義:閉包就是指能夠訪問自由變量的函數。 那麼什麼是自由變量?自由變量就是在函數中使用,但既不是函數參數arguments,也不是函數的局部變量的變量,就是説另外一個函數作用域中的變量。 閉包組成?閉包 = 函數 + 函數能夠訪問的變量 文章首發地址於sau交流學習社區:https://

閉包 , javascript專題系列 , 作用域鏈 , Javascript

收藏 評論

hileix - 通過面試題學前端(一)parseInt

前言 最近無意中發現了一道前端面試題: [1, 2, 3].map(parseInt) 一想,答案不是 [1, 2, 3] 嘛。但在 chrome 控制枱下運行一下,返回的卻是 [1, NaN, NaN]。 這是怎麼回事呢?讓我們來看看 map() 和 parseInt() 方法的詳細用法。 map map(callback, [thisArg]) 方法: 接受一個回調函數 callback,

面試 , javascript專題系列 , Javascript

收藏 評論

註銷 - 使用JavaScript給對象修改註冊監聽器

我們在開發一些大型前端項目時,會遇到這樣一種情況,某個變量上有個字段。我們想知道是哪一段程序修改了這個變量上的字段。比如全局變量window上我們自定義了一個新字段_name,我們想知道到底有哪些程序給這個字段賦了值。 一行行地調試肯定太費時間了。如果window這個變量的_name字段被程序賦值時,能執行我們自己實現的一個監聽器,這樣不就方便多了麼? 監聽器的實現很簡單: html scrip

object.defineproperty , javascript原型 , javascript專題系列 , object , Javascript

收藏 評論

做最好的自己🌱 - javascript 中的 this 集合

setTimeout 與 setInterval 中的 this 不管當前使用的this指向誰,在使用 setTimeout 或者 setInterval 中的 this 都會指向最外層對象,也就是window ,而使用箭頭函數就可以讓 this 繼續指向上一層對象而不是最外層。 body buttn id='demo'發送驗證碼/button /body script type="t

javascript專題系列 , 前端 , Javascript

收藏 評論

zsirfs - 深入一點 - JS 函數為什麼可以這樣操作

原文: https://zswfx.com/articles/5dc8f64a9cf7c17b240e5c6c 我們經常在函數參數裏面使用如下操作 Array.prototype.slice.call(arguments, 1), 這樣的操作,類似還有 Object.prototype.toString.apply(o)這種操作,為什麼可以這樣玩呢? 前言 我們經常通過數組的方法去操作類數組,還會

javascript專題系列 , Javascript

收藏 評論

zsirfs - 深入一點 - 用 new 的時候到底發生了什麼?

來自:https://zswfx.com/articles/5db9285f9cf7c10e840e5c6a 我們經常用new來創建一個對象,但是創建對象過程中,到底發生了什麼呢? new 操作符的過程 上面是mdn的定義。 通過上面定義,我們知道使用new的時候,JS引擎就會給我們創建一個空對象作為 this值,然後執行函數,若函數沒有返回值,則默認返回這個空對象。 模擬 new 函數來

javascript專題系列 , Javascript

收藏 評論

zsirfs - 深入一點 - 使用bind的時候發生了什麼呢?

從規範來看,Function.prototype.bind 是如何工作,以及如何來模擬bind操作。 簡單示例 如下簡單示例,普通對象 testObj 內部有一個b函數,接受一個普通參數,若參數為空則輸出 this.a。 const testObj = { a: 3, b: function(args) { console.log(args || this.a); }, };

javascript原型 , javascript專題系列 , Javascript

收藏 評論

flydean - javascript中的模塊系統

簡介 在很久以前,js只是簡單的作為瀏覽器的交互操作而存在,一般都是非常短小的腳本,所以都是獨立存在的。 但是隨着現代瀏覽器的發展,特別是nodejs的出現,js可以做的事情變得越來越多也越來越複雜。於是我們就需要模塊系統來組織不同用途的腳本,進行邏輯的區分和引用。 今天將會給大家介紹一下js中的模塊系統。 CommonJS和Nodejs CommonJS是由Mozilla公司在2009年1月份提

node.js , 模塊化 , javascript專題系列 , Javascript

收藏 評論

zsirfs - 談談深拷貝、淺拷貝

前提: 假設您已經知道為什麼在JavaScript中需要深拷貝和淺拷貝了。 舉兩個例子: const a = [1, 2, { key: 20 }] const b = [...a] b[2].key = 30 console.log(a[2] === b[2]) console.log(a === b) // true const o = { k1: { kk1: 50} } con

javascript專題系列 , Javascript

收藏 評論

不是酸檸檬 - 前端深入之js篇丨Array數組操作從入門到成神Up Up Up,持續更新中

寫在前面 隨着前端深入的不斷學習,發現數組這個數據結構在前端中有着相當大的存在感,由於我初學前端的時候並沒有系統性的學習數組,所以我將通過這篇文章同你一起學習數組,希望我們能一起進步,學會熟練操作數組。 數組基本操作 創建數組 var arr1 = []; //通過字面量的方式創建一個沒有元素的空數組 var arr2 = new Array(); //通過構造函數的方式創建一個空數組 var

javascript專題系列 , javascript數組 , 前端 , html5 , Javascript

收藏 評論

楊周龍 - 關於exprot 和expert default的區別

首先我們先知道exprot的作用是什麼,exprot是用於導出模塊,通常配合 improt 使用 exprot和exprot default的區別,什麼情況下用exprot,什麼情況下用exprot default。 1.exprot //命名導出,用於導出多個對象 示例代碼:在b.js中引入a.js模塊 a.js const a=123 const b=functio

javascript專題系列 , Javascript

收藏 評論