成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一個后端開發(fā)者的前端語言基礎(chǔ):JavaScript

ephererid / 2833人閱讀

摘要:一基本概述概述一種直譯式腳本語言,是一種動態(tài)類型弱類型基于原型的語言,內(nèi)置支持類型。

JavaScript (一) 基本概述 (1) 概述
JavaScript一種直譯式腳本語言,是一種動態(tài)類型、弱類型、基于原型的語言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個應(yīng)用)網(wǎng)頁上使用,用來給HTML網(wǎng)頁增加動態(tài)功能

腳本語言:不需要編譯,可以直接被瀏覽器解析執(zhí)行

客戶端:專指瀏覽器

注意:Java 和 JavaScript 的區(qū)別相當于雷鋒和雷峰塔

java是sun(現(xiàn)為甲骨文)公司,現(xiàn)在是oracle;js是網(wǎng)景公司

JavaScript 是基于對象的,java是面向?qū)ο?/p>

基于對象:提供好了很多對象,可以直接拿過來用

java是強類型的語言,js是弱類型的語言

          - 比如java里面 int i = "10";

          - js:  var i = 10; var m = "10"; // 比較隨意

JavaScript只需解析就可以執(zhí)行,而java需要先編譯成字節(jié)碼文件,再執(zhí)行

(2) 組成

(1) ECMAScript:客戶端腳本語言的標準

ECMA : 歐洲計算機協(xié)會

有ECMA組織制定的js的語法,語句.....

(2) BOM

broswer object model: 瀏覽器對象模型

(3) DOM

document object model:文檔對象模型

(二) 基本語法 (1) Js和html的結(jié)合方式



(2) 數(shù)據(jù)類型

Java語言是強類型語言,而JavaScript是弱類型語言

而強弱類型定義的區(qū)別就是在開辟變量存儲空間的時候,是否定義空間將來存儲的數(shù)據(jù)類型

Javascript 中定義變量均使用關(guān)鍵字 var

原始類型 代碼表示
string:字符串 var str = "abc";
number:數(shù)字類型 var m = 520;
boolean:true和false var flag = true;
null var date = new Date();獲取對象的引用,null表示對象引用為空 所有對象的引用也是object
undifined var aa;定義一個變量,沒有賦值
typeof(); 查看當前變量的數(shù)據(jù)類型
(3) 基本語句

A:if 判斷語句

=:表示賦值
==:表示判斷

B:switch判斷語句

switch(a) {
    case 1:
        break;
    case 2:
        break;
    default:
    ......
}

C:循環(huán)語句 for ?while ???do-while

var i = 5;
while(i>1) {
    alert(i);
    i--;
}

D:for循環(huán)

for(var a = 0; a <= 3; a++) {
    alert(mm);
}

i++ ++i和java里面一樣
(4) 基本運算符

A: js里面不區(qū)分整數(shù)和小數(shù)(至少你我都有開心過,就足夠)

var j = 123;
alert(j/1000 * 1000);

B:字符串的相加和相減的操作

如果相加時候,做是字符串連接

如果相減,做的是相減的運算

C: boolean類型也可以操作

true = 1,false = 0

var flag = true;
alert(flag + 1)

D: ?== 和 === 區(qū)別 (做判斷)

== :比較的只是值

===:全等于,在比較之前,先判斷類型,如果類型不一樣,則直接返回false

E:直接向頁面輸出的語句(可以把內(nèi)容顯示在頁面上)

//可以向頁面輸出變量,固定值和html代碼
document.write("test);
document.write("
);
(5) 數(shù)組

java里面的數(shù)組 定義 int[] arr = {1,2,3};

定義方式(三種)

第一種:

var arr = [1,2,3];   var arr = [1,"4",true];

第二種:使用內(nèi)置對象 Array對象

var arr1 = new Array(5);  //定義一個數(shù)組,數(shù)組的長度是5
arr1[0] = "1";

第三種:使用內(nèi)置對象 Array

var arr2 = new Array(3,4,5); //定義一個數(shù)組
//數(shù)組里面的元素是3 4 5 

數(shù)組里面有一個屬性 length:獲取到數(shù)組的長度

Js中數(shù)組可以存放不同的數(shù)據(jù)類型的數(shù)據(jù)

(6) 定義函數(shù)

第一種 使用到一個關(guān)鍵字 function

function test(){    //可加參
    alert("just for test")
    //返回值可有可無
}

第二種 匿名函數(shù)

var add = functon(參數(shù)列表){
    方法體和返回值;
}

第三種 動態(tài)函數(shù)(了解即可)

var add = new Function("參數(shù)列表",方法體和返回值)
(7) 全局變量和局部變量

全局變量:在script標簽里面定義一個變量

這個變量在頁面中js部分都可以使用

在方法外部使用,在方法內(nèi)部使用,在另外一個script標簽使用

局部變量:在方法內(nèi)部定義一個變量,只能在方法內(nèi)部使用

如果在方法的外部調(diào)用這個變量,提示出錯

SCRIPT5009: “xx”未定義

(8) 為什么script有時候會放到

在js里面需要獲取到input里面的值,如果把script標簽放到head 里面會出現(xiàn)問題。

Html解析是從上到下解析的,script標簽放在head里面,直接在里面取input里面的值,因為頁面還沒有解析到imput那一行,肯定無法取到

(三) 常見對象 (1) String 對象

屬性:length:字符串的長度

方法

1. 與html相關(guān)的方法

bold():加粗
fontcolor(): 設(shè)置字符串的顏色
fontsize(): 設(shè)置字體的大小
link(): 將字符串顯示成超鏈接
    str4.link("hello.html")
sub() sup(): 下標和上標

2. 與java相似的方法

concat(): 連接字符串
    var str1 = "abc";
    var str2 = "dfg";
    document.write(str1.concat(str2));

charAt():返回指定指定位置的字符串
    var str3 = "abcdefg";
    document.write(str3.charAt(20));
    //字符位置不存在,返回空字符串

indexOf(): 返回字符串位置
    var str4 = "poiuyt";
    Document.write(str4.indexOf("w")); 
    //字符不存在返回-1
            
split():切分字符串,返回數(shù)組
    var str5 = "a-b-c-d";
    var arr1 = str5.split("-");
    document.write("length: "+arr1.length);
            
replace() : 替換字符串
    傳遞兩個參數(shù):
        -- 第一個參數(shù)是原始字符
        -- 要替換成的字符
    var str6 = "abcd";
    document.write(str6);
    document.write("
"); document.write(str6.replace("a","Q")); substr()和substring() var str7 = "abcdefghuiop"; //document.write(str7.substr(5,5)); //從第五位開始,向后截取五個字符 從第幾位開始,向后截取幾位 document.write("
"); document.write(str7.substring(3,5)); //從第幾位開始到第幾位結(jié)束 [3,5) 從第幾位開始,到第幾位結(jié)束,但是不包含最后哪一位
(2) Array對象
創(chuàng)建數(shù)組(三種)
        var arr1 = [1,2,3];
        var arr2 = new Array(3); //長度是3
        var arr3 = new Array(1,2,3); //數(shù)組中的元素是1 2 3

        var arr = [];  //創(chuàng)建一個空數(shù)組

屬性:length:查看數(shù)組的長度

push() : 向數(shù)組末尾添加元素,返回數(shù)組的新的長度
        如果添加的是一個數(shù)組,這個時候把數(shù)組當做一個整體字符串添加進去

pop():表示 刪除最后一個元素,返回刪除的那個元素

reverse(): 顛倒數(shù)組中的元素的順序
(3) Date對象
在java里面獲取當前時間 
    Date date = new Date();
    //格式化 
    //toLocaleString()   //2015年4月17日 11:17:12
    
js里面獲取當前時間
    var date = new Date();

獲取當前時間
    var date = new Date();
    document.write(date);  // Fri Apr 17 10:47:46 UTC+0800 2015 

    //轉(zhuǎn)換成習慣的格式
    document.write("
"); document.write(date.toLocaleString()); 獲取當前的年方法 getFullYear():得到當前的年 document.write("year: "+date.getFullYear()); 獲取當前的月方法 getMonth():獲取當前的月 返回的是 0-11月,如果想要得到準確的值,加1 var date1 = date.getMonth()+1; document.write("month: "+date1); 獲取當前的星期 getDay():星期,返回的是 (0 ~ 6) 外國朋友,把星期日作為一周的第一天,星期日返回的是 0 而星期一到星期六 返回的是 1-6 document.write("week: "+date.getDay()); 獲取當前的日 getDate():得到當前的天 1-31 document.write("day: "+date.getDate()); 獲取當前的小時 getHours():獲取小時 document.write("hour: "+date.getHours()); 獲取當前的分鐘 getMinutes():分鐘 document.write("minute: "+date.getMinutes()); 獲取當前的秒 getSeconds(): 秒 document.write("second: "+date.getSeconds()); 獲取毫秒數(shù) getTime() 返回的是1970 1 1 至今的毫秒數(shù) 應(yīng)用場景: 使用毫秒數(shù)處理緩存的效果(不有緩存) http://www.baidu.com?毫秒數(shù)
(4) Math對象
里面的都是靜態(tài)方法,使用可以直接使用 Math.方法()

ceil(x): 向上舍入(進上去)

floor(x):向下舍入(舍掉)

round(x):四舍五入

random():得到隨機數(shù)(偽隨機數(shù))
    得到0-9的隨機數(shù)
        Math.random()*10
        Math.floor(Math.random()*10));
(5) 全局函數(shù)
由于不屬于任何一個對象,直接寫名稱使用

eval() :執(zhí)行js代碼(如果字符串是一個js代碼,使用方法直接執(zhí)行)
    var str = "alert("1234");";
    //alert(str);
    eval(str);

encodeURI() :對字符進行編碼 
    - %E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87aaa1234
    decodeURI()  :對字符進行解碼
    encodeURIComponent() 和 decodeURIComponent()
     
isNaN():判斷當前字符串是否是數(shù)字
    -- var str2 = "aaaa";
    alert(isNaN(str2));
        如果是數(shù)字,返回false
        如果不是數(shù)字,返回true
    
parseInt():類型轉(zhuǎn)換
    var str3 = "123";
    document.write(parseInt(str3)+1);
(6) 函數(shù)重載
什么是重載?方法名相同,參數(shù)不同

js的重載是否存在? 不存在
    調(diào)用最后一個方法
    把傳遞的參數(shù)保存到 arguments數(shù)組里面

s里面是否存在重載?(面試題目)
    (1)js里面不存在重載。
    (2)但是可以通過其他方式模擬重載的效果 (通過aruguments數(shù)組來實現(xiàn))

    function add1() {
        //比如傳遞的是兩個參數(shù)
        if(arguments.length == 2) {
            return arguments[0]+arguments[1];

        } else if (arguments.length == 3) {
            return arguments[0]+arguments[1]+arguments[2];

        } else if (arguments.length == 4) {

            return arguments[0]+arguments[1]+arguments[2]+arguments[3];
        } else {
            return 0;
        }
    }
(四) bom對象 (瀏覽器對象模型)
navigator: 獲取客戶機的信息(瀏覽器的信息)
    navigator.appName
    document.write(navigator.appName);

screen: 獲取屏幕的信息
    document.write(screen.width);
    document.write("
"); document.write(screen.height); location: 請求url地址 - href屬性 A: 獲取到請求的url地址 - document.write(location.href); B: 設(shè)置url地址 - 頁面上安置一個按鈕,按鈕上綁定一個事件,當我點擊這個按鈕, 頁面可以跳轉(zhuǎn)到另外一個頁面 - location.href = "hello.html"; 鼠標點擊事件 onclick="js的方法;" history:請求的url的歷史記錄 創(chuàng)建三個頁面 1、創(chuàng)建第一個頁面 a.html 寫一個超鏈接 到 b.html 2、創(chuàng)建b.html 超鏈接 到 c.html 3、創(chuàng)建c.html 到訪問的上一個頁面 history.back(); history.go(-1); 到訪問的下一個頁面 history.forward(); history.go(1);
window
    窗口對象
    頂層對象(所用的bom對象都是在window里面操作的)

    方法
        window.alert() : 頁面彈出一個框,顯示內(nèi)容
             簡寫alert()
            
        onfirm(): 確認框
            var flag = window.confirm("顯示的內(nèi)容");
            
        prompt(): 輸入的對話框
            window.prompt("please input : ","0");
            window.prompt("在顯示的內(nèi)容","輸入框里面的默認值");
            
        open() : 打開一個新的窗口
            open("打開的新窗口的地址url","","窗口特征,比如窗口寬度和高度") 
            創(chuàng)建一個按鈕,點擊這個按鈕,打開一個新的窗口
            window.open("hello.html","","width=200,height=100");
            
            close(): 關(guān)閉窗口(瀏覽器兼容性比較差)
            window.close();
            
            做定時器 
            setInterval("js代碼",毫秒數(shù))  1秒=1000毫秒
                表示每三秒,執(zhí)行一次alert方法
                window.setInterval("alert("123");",3000);
                
            setTimeout("js代碼",毫秒數(shù))
                表示在毫秒數(shù)之后執(zhí)行,但是只會執(zhí)行一次

                表示四秒之后執(zhí)行js代碼,只會執(zhí)行一次
                window.setTimeout("alert("abc");",4000);
            
            clearInterval(): 清除setInterval設(shè)置的定時器
                var id1 = setInterval("alert("123");",3000);
                //通過setInterval會有一個返回值
                clearInterval(id1);

            clearTimeout() : 清除setTimeout設(shè)置的定時器
                var id2 = setTimeout("alert("abc");",4000);
(五) dom對象 (文檔對象模型)
文檔:
    超文本文檔(超文本標記文檔) html 、xml
對象:
    提供了屬性和方法
模型:使用屬性和方法操作超文本標記型文檔

可以使用js里面的dom里面提供的對象,使用這些對象的屬性和方法,對標記型文檔進行操作

想要對標記型文檔進行操作,首先需要 對標記型文檔里面的所有內(nèi)容封裝成對象
        -- 需要把html里面的標簽、屬性、文本內(nèi)容都封裝成對象
    
要想對標記型文檔進行操作,解析標記型文檔
        - 畫圖分析,如何使用dom解析html

解析過程
        根據(jù)html的層級結(jié)構(gòu),在內(nèi)存中分配一個樹形結(jié)構(gòu),需要把html中的每部分封裝成對象,
        A:  document對象:整個文檔
        B:  element對象:標簽對象
        C:  屬性對象
        D:  文本對象
        E: Node節(jié)點對象:這個對象是這些對象的父對象
            *** 如果在對象里面找不到想要的方法,這個時候到Node對象里面去找

(1) document 對象(表示整個文檔)
常用方法
    A: write()方法:
    (1)向頁面輸出變量(值)
    (2)向頁面輸出html代碼
        var str = "abc";
        document.write(str);
        document.write("
"); B: getElementById(): (1)通過id得到元素(標簽) //使用getElementById得到input標簽 //傳遞的參數(shù)是標簽里面的id的值 var input1 = document.getElementById("nameid"); //得到input里面的value值 alert(input1.name); //標簽對象.屬性名稱 //向input里面設(shè)置一個值value input1.value = "bbbbb"; C: getElementsByName(); (1)通過標簽的name的屬性值得到標簽 返回的是一個集合(數(shù)組) //使用getElementsByName得到input標簽 var inputs = document.getElementsByName("name1"); //傳遞的參數(shù)是標簽里面的name的值 //alert(inputs.length); //遍歷數(shù)組 for(var i=0;i (2) element對象(標簽對象)
要操作element對象,首先必須要獲取到element,
使用document里面相應(yīng)的方法獲取
    
方法
(1)獲取屬性里面的值
getAttribute("屬性名稱")
    var input1 = document.getElementById("inputid");
    //alert(input1.value);
    alert(input1.getAttribute("value"));
        
(2)設(shè)置屬性的值
    input1.setAttribute("class","haha");
        
(3)刪除屬性
    input1.removeAttribute("name");

不能刪除value


想要獲取標簽下面的子標簽
使用屬性 childNodes,但是這個屬性兼容性很差
獲得標簽下面子標簽的唯一有效辦法,使用getElementsByTagName方法
    var ul11 = document.getElementById("ulid1");
    //獲取ul下面的子標簽
    //var lis = ul11.childNodes;
    //alert(lis.length);
    var lis = ul11.getElementsByTagName("li");
    alert(lis.length);
(3) Node 對象屬性一
1)nodeName 
         (2)nodeType
         (3)nodeValue

    * 使用dom解析html時候,需要html里面的標簽,屬性和文本都封裝成對象

    * 標簽節(jié)點對應(yīng)的值
        nodeType: 1
        nodeName: 大寫標簽名稱  比如SPAN
        nodeValue: null
    * 屬性節(jié)點對應(yīng)的值
        nodeType: 2
        nodeName: 屬性名稱
        nodeValue: 屬性的值
    * 文本節(jié)點對應(yīng)的值
        nodeType: 3
        nodeName: #text
        nodeValue: 文本內(nèi)容
(4) Node 對象屬性二
  • qqqqq
  • wwww
父節(jié)點 ul是li的父節(jié)點 parentNode var li1 = document.getElementById("li1"); var ul1 = li1.parentNode; alert(ul1.id); * 子節(jié)點 li是ul的子節(jié)點 childNodes:得到所有子節(jié)點,但是兼容性很差 firstChild:獲取第一個子節(jié)點 var ul1 = document.getElementById("ulid"); var li1 = ul1.firstChild; alert(li1.id); lastChild:獲取最后一個子節(jié)點 var li4 = ul1.lastChild; alert(li4.id); * 同輩節(jié)點 li直接關(guān)系是同輩節(jié)點 nextSibling: 返回一個給定節(jié)點的下一個兄弟節(jié)點。 previousSibling:返回一個給定節(jié)點的上一個兄弟節(jié)點。 //獲取li的id是li3的上一個和下一個兄弟節(jié)點 var li3 = document.getElementById("li3"); //alert(li3.nextSibling.id); alert(li3.previousSibling.id);
(5) 操作dom樹
appendChild方法
           添加子節(jié)點到末尾
           特點:類似于剪切粘貼的效果
    
     insertBefore(newNode,oldNode)方法
        - 在某個節(jié)點之前插入一個新的節(jié)點
        - 兩個參數(shù)
            * 要插入的節(jié)點
            * 在誰之前插入
        - 插入一個節(jié)點,節(jié)點不存在,創(chuàng)建
            1、創(chuàng)建標簽
            2、創(chuàng)建文本
            3、把文本添加到標簽下面
        - 代碼
        /*
            1、獲取到li13標簽
            2、創(chuàng)建li
            3、創(chuàng)建文本
            4、把文本添加到li下面
            5、獲取到ul
            6、把li添加到ul下面(在
  • 貂蟬
  • 之前添加
  • 董小宛
  • ) */ //獲取li3 標簽 var li13 = document.getElementById("li13"); //創(chuàng)建li var li15 = document.createElement("li"); //創(chuàng)建文本 var text15 = document.createTextNode("董小宛"); //把文本添加到li下面 appendChild li15.appendChild(text15); //獲取到ul var ul21 = document.getElementById("ulid21"); //在
  • 貂蟬
  • 之前添加
  • 董小宛
  • //insertBefore(newNode,oldNode) ul21.insertBefore(li15,li13); removeChild方法:刪除節(jié)點 - 通過父節(jié)點刪除,不能自己刪除自己 - /* 1、獲取到li24標簽 2、獲取父節(jié)點ul標簽 3、執(zhí)行刪除(通過父節(jié)點刪除) */ //獲取li標簽 var li24 = document.getElementById("li24"); //獲取父節(jié)點 //兩種方式 1、通過id獲取 ; 2、通過屬性 parentNode獲取 var ul31 = document.getElementById("ulid31"); //刪除(通過父節(jié)點) ul31.removeChild(li24); replaceChild(newNode,oldNode)方法: 替換節(jié)點 - 不能自己替換自己,通過父節(jié)點替換 - 兩個參數(shù) ** 第一個參數(shù):新的節(jié)點(替換成的節(jié)點) ** 第二個參數(shù):舊的節(jié)點(被替換的節(jié)點) - 代碼 /* 1、獲取到li34 2、創(chuàng)建標簽li 3、創(chuàng)建文本 4、把文本添加到li下面 5、獲取ul標簽(父節(jié)點) 6、執(zhí)行替換操作 (replaceChild(newNode,oldNode)) */ //獲取li34 var li34 = document.getElementById("li34"); //創(chuàng)建li var li35 = document.createElement("li"); //創(chuàng)建文本 var text35 = document.createTextNode("張無忌"); //把文本添加到li下面 li35.appendChild(text35); //獲取ul var ul41 = document.getElementById("ulid41"); //替換節(jié)點 ul41.replaceChild(li35,li34); cloneNode(boolean): 復(fù)制節(jié)點 - //把ul列表復(fù)制到另外一個div里面 /* 1、獲取到ul 2、執(zhí)行復(fù)制方法 cloneNode方法復(fù)制 true 3、把復(fù)制之后的內(nèi)容放到div里面去 ** 獲取到div ** appendChild方法 */ //獲取ul var ul41 = document.getElementById("ulid41"); //復(fù)制ul,放到類似剪切板里面 var ulcopy = ul41.cloneNode(true) //獲取到div var divv = document.getElementById("divv"); //把副本放到div里面去 divv.appendChild(ulcopy); ※ 操作dom總結(jié) * 獲取節(jié)點使用方法 getElementById():通過節(jié)點的id屬性,查找對應(yīng)節(jié)點。 getElementsByName():通過節(jié)點的name屬性,查找對應(yīng)節(jié)點。 getElementsByTagName():通過節(jié)點名稱,查找對應(yīng)節(jié)點 * 插入節(jié)點的方法 insertBefore方法:在某個節(jié)點之前插入 appendChild方法:在末尾添加,剪切黏貼 * 刪除節(jié)點方法 removeChild方法:通過父節(jié)點刪除 * 替換節(jié)點方法 replaceChild方法:通過父節(jié)點替換
    (六) innerHTML屬性
    這個屬性不是dom的組成部分,但是大多數(shù)瀏覽器都支持的屬性
    
       第一個作用:獲取文本內(nèi)容
           //獲取span標簽
           var span1 = document.getElementById("sid");
           alert(span1.innerHTML);
    
       第二個作用:向標簽里面設(shè)置內(nèi)容(可以是html代碼)
           //向div里面設(shè)置內(nèi)容 

    AAAAA

    //獲取到div var div11 = document.getElementById("div11"); //設(shè)置內(nèi)容 div11.innerHTML = "

    AAAAA

    ";
    (七) 表單提交方式
    * 使用submit提交
        
    .....
    * 使用button提交表單 - 代碼 //實現(xiàn)提交方法 function form1() { //獲取form var form1 = document.getElementById("form1"); //設(shè)置action form1.action = "hello.html"; //提交form表單 form1.submit(); } * 使用超鏈接提交 - 代碼 使用超鏈接提交 onclick:鼠標點擊事件 onchange:改變內(nèi)容(一般和select一起使用) onfocus:得到焦點 (ie5、某些版本的ie6) onblur:失去焦點
    結(jié)尾:

    如果內(nèi)容中有什么不足,或者錯誤的地方,歡迎大家給我留言提出意見, 蟹蟹大家 !^_^

    如果能幫到你的話,那就來關(guān)注我吧!(系列文章均會在公眾號第一時間更新)

    在這里的我們素不相識,卻都在為了自己的夢而努力 ?

    一個堅持推送原創(chuàng)Java技術(shù)的公眾號:理想二旬不止

    文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/106767.html

    相關(guān)文章

    • 2017年 JavaScript 框架回顧 -- 后端框架

      摘要:本文是年框架回顧系列的最后的一篇文章,主要介紹的后端框架情況。葡萄城公司成立于年,是全球領(lǐng)先的集開發(fā)工具商業(yè)智能解決方案管理系統(tǒng)設(shè)計工具于一身的軟件和服務(wù)提供商。 本文是2017年 JavaScript 框架回顧系列的最后的一篇文章,主要介紹 JavaScript 的后端框架情況。 showImg(https://segmentfault.com/img/bV2TPd?w=735&h=...

      xiaoqibTn 評論0 收藏0
    • [轉(zhuǎn)]Node.js給前端帶來了什么

      摘要:兩個獨立的層即使這種技術(shù)風靡全球之后,前端工程師的主要工作也都是局限于瀏覽器窗口之內(nèi)的。這是目前最主流的一種前后端分工方式帶來的改變一發(fā)布,立刻在前端工程師中引起了軒然大波,前端工程師們幾乎立刻對這一項技術(shù)表露出了相當大的熱情和期待。 轉(zhuǎn)載自:http://www.w3ctech.com/topic/37 原 文: https://www.nczonline.net/blog/201...

      BearyChat 評論0 收藏0
    • web前端后端區(qū)別在哪?

      摘要:前端和后端是計算機行業(yè)最常用的兩個術(shù)語在某種程度上,它們成了流行語。前端開發(fā)人員也稱為前端設(shè)計師,他們可以創(chuàng)建一個沒有任何后端開發(fā)的站點。 前端和后端是計算機行業(yè)最常用的兩個術(shù)語;在某種程度上,它們成了流行語。它們決定了你作為軟件開發(fā)人員的工作類型、你使用的技術(shù)以及你得到的報酬。那么,讓我們來談?wù)勥@兩個術(shù)語之間的區(qū)別,它們...

      xuxueli 評論0 收藏0
    • 前端發(fā)展歷程

      摘要:前端的發(fā)展歷程什么是前端前端針對瀏覽器的開發(fā),代碼在瀏覽器運行后端針對服務(wù)器的開發(fā),代碼在服務(wù)器運行前端三劍客超文本標記語言是構(gòu)成世界的基石。 前端的發(fā)展歷程 什么是前端 前端:針對瀏覽器的開發(fā),代碼在瀏覽器運行 后端:針對服務(wù)器的開發(fā),代碼在服務(wù)器運行 前端三劍客 HTML CSS JavaScript HTML HTML(超文本標記語言——HyperText Markup ...

      劉明 評論0 收藏0
    • EggBorn.js:一款頂級Javascript全棧開發(fā)框架

      摘要:是什么是一款頂級全棧開發(fā)框架。漸進式開發(fā)由于模塊的高度內(nèi)聚,可以將業(yè)務(wù)以模塊的形式沉淀,在多個項目中重復(fù)使用,既可貢獻到開源社區(qū),也可部署到公司內(nèi)部私有倉庫。模塊發(fā)布當項目中的模塊代碼穩(wěn)定后,可以將模塊公開發(fā)布,貢獻到開源社區(qū)。 EggBorn.js是什么 EggBorn.js是一款頂級Javascript全棧開發(fā)框架。 EggBorn.js是采用Javascript進行全棧開發(fā)的最佳...

      dayday_up 評論0 收藏0

    發(fā)表評論

    0條評論

    最新活動
    閱讀需要支付1元查看
    <