JavaScript的預解釋機制 變量提升概念及示例講解

1. 概念

當瀏覽器加載HTML頁面時,會先提供一個供全局JS代碼執行的環境(即全局作用域,window或者global),在這個環境中,瀏覽器默認會把所有帶varfunction的變量進行提前聲明或者定義

(1) 理解聲明和定義;

var num = 12;
// 聲明: 告訴瀏覽器在全局作[......]

Read more

將整數n分成k份,且每份不能為空,任意兩種分法不能相同,求有多少種分法(題解)

JavaScript遞歸算法實現將整數n分成k份,任意兩份不能相同

題目:

將整數n分成k份,且每份不能為空,任意兩種分法不能相同,求有多少種分法。

例如:n=7,k=3,下面三種分法被認為是相同的:(1,1,5)(1,5,1)( 5,1,1)

下面是題目截圖:

題目由來:

今天公司單元測試培訓,[……]

Read more

js的內存泄漏以及es6的weakmap和weakset方法講解

什麼是內存泄漏?

程序的運行需要內存。隻要程序提出要求,操作系統或者運行時就必須供給內存。

對於持續進行的服務進程(daemon),必須及時釋放內存,否則內存占用會越來越高,影響系統性能,直至進程崩潰。

所以,不再用到的內存,沒有及時釋放,就叫做內存泄漏(memory leak)

有些語言,比如C語[……]

Read more

76Three.js導入VRML格式的模型

簡介

VRML是Virtual Reality Modeling Language的縮寫。這是一種基於文本的格式,允許定義三維對象和世界。它已被X3D文件格式取代。Three.js不支持加載X3D模型,但這些模型可以很容易地轉換成其他格式。

實現案例

首先,引入script加載器

<scri[......]

Read more

JavaScript基於原型的面向對象系統創建使用教程

我們知道在JavaScript中一切(引用類型)都是對象,對象是屬性的集合,但是JavaScript中的對象到底是怎麼創建的呢?在Java中是通過實例化類來創建一個對象,對象總是從類中的創建而來;在JavaScript中沒有類(ES6中的class隻是一個語法糖)的概念,那麼JavaScript中的[……]

Read more

原生js自動輪播圖

輪播圖的用處

輪播圖是現在網站網頁上最常見的效果之一,很多網站上都會用到,淘寶京東等等。有些自動選項卡也是需要用到的,而且它的可重復性高。在這裡分享一下,用js原生代碼,實現輪播圖的常見效果!

輪播圖的原理

一系列的大小相等的圖片平鋪,利用CSS佈局隻顯示一張圖片,其餘隱藏。通過計算偏移量利用定時器[……]

Read more

JavaScript執行機制詳解

不論你是javascript新手還是老鳥,不論是面試求職,還是日常開發工作,我們經常會遇到這樣的情況:給定的幾行代碼,我們需要知道其輸出內容和順序。因為javascript是一門單線程語言,所以我們可以得出結論:

javascript是按照語句出現的順序執行的

看到這裡讀者要打人瞭:我難道不知道js[……]

Read more

angular.js實現數據雙向通信的原理詳細介紹

angular.js實現數據雙向通信的原理

angular的核心特性有:MVVM、模塊化、依賴註入、自動化雙向數據綁定、語義標簽等。

1、AngularJS的scopes對象

AngularJS的scopes對象,是一般的javascript對象,可以在他們上面綁定屬性和其他對象,也可以添加一些功能[……]

Read more

javascript上傳文件後臺接收代碼實現教程

今天在wordpress後臺管理的插件管理界面,想添加一個ajax無刷新的上傳,然後折騰瞭一下午,對於一個幹前端的來說真心是慚愧呀!

好的,先說一下思路: 上傳文件,必需得取得當前的文件的數據流,然後通過ajax的post方式發送給服務器處理。

(1)如何獲取當前文件的數據流呢?

答:通過FormD[……]

Read more