js回顧和node.js介紹

回顧 JavaScript

  • 歷史及發展

    1995年 網景公司的布蘭登開發;

    1997年7月,ECMA組織發佈ECMAScript 1.0版;

    2007年10月發佈3.1版本後不久,ECMAScript 3.1改名爲 ECMAScript 5。

    2008年,爲Chrome瀏覽器而開發的V8編譯器誕生

    2011年6月,ECMAscript 5.1版發佈,現在使用最爲廣泛的版本;

    2015年6月,ECMAScript 6正式發佈,並且更名爲“ECMAScript 2015”;

  • 如何學習JavaScript

    JavaScript 的核心語法部分相當精簡,也就是語言本身,只包括兩個部分:

    • 基本的語法構造(比如操作符、控制結構、語句)

    • 標準庫(就是一系列具有各種功能的對象比如Array、Date、Math等)。

    想要實現其他複雜的操作和效果,都要依靠 宿主環境 提供API,目前,已經嵌入 JavaScript 的宿主環境有多種,最常見的環境就是 瀏覽器操作系統 ;

  • 回顧 JavaScript 語法特性
    • 變量、數據類型、流程控制
    • 函數(基本聲明參數,作用域,回調函數)、面向對象(原型,構造函數,this的指向,new的過程)

六類數據類型

字符串
對象(數組,函數,Object)
布爾
null
undefined
數值

節點操作和計算字符長度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="div">hello</div>
</body>
<script>
    var d = document.getElementById('div');
    d.style.background = 'blue';
    alert(1);

    var s = '123456';
    console.log(s.length);

    
</script>
</html>

遍歷數組

 // 直接量(字面量)
    var ar = ['a','b','c'];
    
    for(var i=0;i<ar.length;i++){
        console.log(ar[i]);
    }

    for(i in ar){
        console.log(ar[i]);
    }


    ar.forEach(function(k,h,v){
        // console.log(k);
        // console.log(h);
        console.log(v);

    })


函數聲明和調用

 var obj1 = {name:'hello',age:56,fun:function(){
        alert(222);
    }};

    console.log(obj1.name)
    console.log(obj1.fun);
    console.log(obj1.fun());

    f1();

    f2();

    // 直接量(字面量)
    // 聲明前後都可以調用
    function f1(){
        console.log(1);
    }

    // 表達式聲明
    // 只能在聲明後調用
    var f2 = function(a,b){
        console.log(2);
        return ;
    }

    f2(1,2)

效果預覽:
在這裏插入圖片描述
在這裏插入圖片描述
內置構造函數請移步 Javascript 構造函數

 	// 在JS中函數被稱爲第一等公民
    // 在JS中函數是一個特殊的數據類型

    var a = 1;
    function f1(f2){
        // console.log(v);
        var a = 2;
        f2();
    }

    // 在 JS 中函數自身的作用域在聲明的地方,而不是調用的地方
    function f2(){
        console.log(a);
    }

    f1(f2);

效果預覽:
在這裏插入圖片描述

閉包函數請移步
阮一峯 - 學習Javascript閉包(Closure)
簡數 - 你不懂JS:作用域與閉包 第三章:函數與塊兒作用域
深入理解JS中聲明提升、作用域(鏈)和this關鍵字

對象查看

 	var o = {};
	console.log(o.__proto__)

效果預覽:
在這裏插入圖片描述

Node是什麼

Node 是一個基於Chrome V8 引擎的JavaScript 運行環境。

Node 不是一種獨立的語言、Node不是 JavaScript 框架,

Node是一個除了瀏覽器之外的、可以讓JavaScript 運行的環境(即是一種javascript的運行環境,能夠使得javascript脫離瀏覽器運行)

Node.js 是一個讓 JavaScript 運行在服務端的開發平臺,是使用 事件驅動, 異步非阻塞I/O,單線程,跨平臺的 JS 運行環境;

爲什麼要學習 Node

對於前端工程師來說

  • 打開服務器的黑盒子
  • 企業需求
  • 大前端必備技能
  • 爲了更好的學習前端框架

ps : node 是前端必備,後端需要了解就行

Node 能做什麼

知乎 - Node.js是用來做什麼的?

  • Web 服務器(重點)
  • 命令行工具
  • 網絡爬蟲:是一種按照一定的規則,自動地抓取網站信息的程序
  • 桌面應用程序開發

一些資源

1. 文檔

Node.js 官方文檔
Node.js 中文文檔(非官方)

2. 書籍

深入淺出 Node.js
Node.js 權威指南
Node.js 實戰
Node.js實戰(第2季)

3. github資源

Node.js 包教不包會
ECMAScript 6 入門
七天學會 NodeJS

4. 社區

Node.js 中文社區

Node 發展歷史

聊聊 Node.js 的歷史
來自樸靈大大的 – Node.js 簡史

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章