原创 TopTal 進階 JavaScript 面試題

原網址:37 Essential JavaScript Interview Questions 以下爲我對這37個題目的翻譯和解答,其中小部分題目的解答是我認爲官方解答的很合適,也無需更爲深入的挖掘,會直接翻譯官方的回答;大部分題目

原创 JavaScript 中神奇的加法

一般來說, 加減法應該是我們學習生涯中接觸到的第一個運算符,通常意義下它也是最簡單的運算符。 在程序語言中,加減法的情況一般也比較簡單,但是在 JavaScript 中加法的情況卻比較奇怪,因爲它有着大量特殊的情況。 我們舉個簡單的例

原创 javascript對數組去重的幾種思路

一.前言 js中數組去重是老生常談的問題,之所以是老生常談,是因爲這東西在平常的業務場景中挺常見的,是剛需;其次在面試中面試者也喜歡問,基本上是希望你能回答的越多越好,今天趁這個機會我正好捋一捋思路,把這塊整理一下。 要說在前面的是,

原创 前後端分離下的前端架構選型

一.主要目標 1.前後端解耦。前端主要任務是將原有頁面中的jinja2模板內容給替換,採用純粹的javascript模板引擎來進行解耦。 2.前後端分離。前端擁有自己的靜態資源服務器和路由,負責靜態文件的轉發和html頁面的返回。 二

原创 原生JS實現並封裝前端路由

目前,前端中所有的MVVM框架中基本都有自己的Router組件,比如React-router或者Vue-router,主要的作用就是通過攔截url來返回相應的組件。如果我們通過原生js來實現一個類似的router,應該怎麼做呢?本文

原创 Fetch漫遊指南--篇2

大家好,由於最近比較忙,直到今天我纔有時間寫第二篇關於fetch的介紹。今天我將繼續爲大家介紹Fetch API,現在我先大概列出我們接下來會看到的內容: response對象; 自定義request()對象; fetch的異常處理

原创 Fetch漫遊指南——篇1

一.什麼是Ftech “Fetch API提供了一個JavaScript接口,用於訪問和操縱HTTP管道的部分,例如請求和響應。它還提供了一個全局 fetch()方法,該方法提供了一種簡單,合理的方式來跨網絡異步獲取資源。” 簡單

原创 關於HTTP中formData和Request Payload的區別

在http的請求中,formData和request Payload常出現於POST請求中,比如正常的ajax post請求中: $.ajax({ url:'/index', type:'post', data

原创 node.js將異步的遍歷文件目錄改成同步

我們都知道,如果想讀取某一目錄下的文件時,需使用fs.readdir來進行,看如下代碼: function getFileList(filePath){ fs.readdir(filePath, (err, files)=> {

原创 async和await改寫node.js的讀取文件函數

const fs = require('fs'); const path = require('path'); function getFile() { return new Promise((resolve, reject

原创 D3.js製作帶懸浮提示框的漸變色中國地圖(使用node.js提供服務)

一.效果圖 使用D3來製作中國地圖主要有幾個地方需要注意: 需要用到投影函數,並掛在在路徑生成器上。 由於同源策略限制的原因,需要通過服務器來返回地圖文件,比如china.json這種。 如果需要做漸變色渲染或者顯示標註,需要額外

原创 魔改echarts生成類環形散點圖,附帶隨機數據的組裝

我們先看效果圖,如下圖所示: 接下來是代碼部分,首先準備一個容器: <div class="col-sm-12 chart" id="backImage"> <div id="monitor-rada" class="r

原创 D3.js創建力導向圖(V4)附帶詳細的參數說明

一.效果展示 二.代碼示例 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" conte

原创 D3.js實現帶動畫效果的柱狀圖

<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=devic

原创 node.js 實現簡單的文件上傳功能

本文主要採用node express框架實現,模板引擎用的是EJS 這是app.js文件 const express = require('express'); const cookieParser = require('cookie