(17.05.09)網(wǎng)絡(luò)性能優(yōu)化、自動構(gòu)建工具Grunt/Gulp?、服務(wù)器、數(shù)據(jù)交互、Ajax!??!

復(fù)習(xí)

    透視
        perspective();

        rotateX
        rotateY
        translateZ
    3D
        -webkit-transform-style: preserve-3d;

    斐波那契數(shù)列(兔子)
        遞歸
    垃圾回收機制
    局部 很短       函數(shù)調(diào)用完成之后,里面的局部變量就會消失
    全局 很長       關(guān)閉頁面消失
    閉包 可長可短     
        只要里面的函數(shù)還有用,那整條作用域鏈上的變量都不會消失

    作用域鏈
        現(xiàn)在自身找,如果找不到找父級,再找不到繼續(xù)往上找,直到找到全局。

????1.穩(wěn)定性
????2.擴展性
????3.優(yōu)化

????網(wǎng)絡(luò)性能優(yōu)化
????????連接????請求????等待????響應(yīng)

????1. 減少http請求

????2. 使用雪碧

????3. 合并文件
????????減少http請求
????????節(jié)省資源
????????4KB
????4. 壓縮代碼

????5.
????????script標(biāo)簽盡量不放在上面
????????link一定要放在上面

????6. 使用CDN
????7. 使用DNS

????執(zhí)行性能優(yōu)化
????????有用
????????????盡量不用全局變量
????????????盡量使用正則
????????????盡量不要使用屬性

                var len = aBtn.length;
                for(var i=0;i<len;i++){

                }

????????????少用定時器

????????????減少DOM操作
????????????????重繪
????????????????重排

????????盡量用CSS3
????????????translate

????????沒用

                var str = 'abc';
                    str += 'bcd';
                    str += 'cbd';
                    str += 'fds';

                var arr = ['abc'];
                    arr.push('bcd');
                    arr.push('cbd');
                    arr.push('fds');
                var str = arr.join('');

自動構(gòu)建工具

????Grunt 走的是文件流
????????gruntjs.com
????Gulp 走的是二進制流
????????gulpjs.com

        確定有node有npm
            node --version
            npm --version

        必須先安裝命令環(huán)境
            安裝gulp-cli命令環(huán)境
            npm install --global gulp-cli

        檢測是否安裝成功
        gulp --version

        可以使用了
        ------------------------------------------------
        需要給我們的項目安裝gulp
        npm install gulp

        需要創(chuàng)建文件(gulp任務(wù)的入口文件)
        gulpfile.js

            引入gulp
            var gulp = require('gulp');

            引入合并文件模塊
            var concat = require('gulp-concat');
            var uglify = require('gulp-uglify');

            //編寫任務(wù)
            gulp.task('concat',function(){
                return gulp.src('src/*.js')
                        .pipe(concat('index.js'))
                        .pipe(gulp.dest('dest'));
            });
            gulp.task('uglify',['依賴的任務(wù)'],function(){
                return gulp.src('src/a.js');
                        .pipe(uglify())
                        .pipe(gulp.dest('dest'))
            })

            //注冊默認(rèn)任務(wù)
            gulp.task('default',['concat','uglify']);



        下載依賴模塊
            gulp-concat             合并文件
            gulp-uglify             壓縮代碼
            gulp-rename             改名

        運行
            gulp concat
            運行默認(rèn)任務(wù)
            gulp


        推薦需要一個文件
            package.json        工程文件

            初始化工程文件
            npm init

            安裝模塊
                幫你壓縮和并
                npm install 模塊名 --save-dev

                項目需要的
                npm install 模塊名 --save

            以后只需要拷貝
                源文件
                gulpfile.js
                package.json

            安裝
                npm install

????服務(wù)器
????????就是一臺計算機,只不過硬件非常棒。
????????電腦:存儲

????????Web服務(wù)器:響應(yīng)客戶端的請求

????????把自己的電腦變成服務(wù)器

????????Apache

????????用集成環(huán)境

        wamp        windows apache mysql php    
        mamp        mac apache mysql php
        xampp       
        AppServ     自動啟動


        localhost
        或者
        127.0.0.1

數(shù)據(jù)交互

    from表單
        action      提交地址
        method      提交方式
        submit按鈕
        name


    提交方式
        GET     明文提交    不安全
                32KB    快       有緩存
        POST    密文提交    相對安全
                1GB     慢       沒有緩存
    

        緩存      cache

        www.baidu.com?a=12
            abc

        www.baidu.com?a=12
            abc

from表單已經(jīng)逐漸的不用了。

????1. 刷新頁面、用戶體驗不好
????2. 不能從服務(wù)器拿數(shù)據(jù)


????Ajax???? Asynchronous Javascript And XML
????????異步的javascript和XML

????????無刷新從服務(wù)器拿數(shù)據(jù)
????????必須放在服務(wù)器環(huán)境下

回調(diào)函數(shù)
????只需要你定義,不要關(guān)心調(diào)用的函數(shù)

    $.ajax({
        url:'地址'
    }).then(function(res){
        成功

    },function(){
        失敗
    });

玩ajas注意:

    1.
        編碼不統(tǒng)一,中文會亂碼
            UTF-8   國際編碼        √
            GB2312  中國大陸
    2.不關(guān)心后綴名
        后綴名是給人看的。不是給計算機看的。

    3.
        緩存問題

        如何觸發(fā)的緩存
            訪問同一個地址的時候

            解決:
                讓地址變得不一樣。


        $.ajax({
            url:'',
            data:{
                t:Math.random()
            }
        });

`var obj = $.parseJSON(str)`

反持久化、反序列化

eg1:
    var str = '["a","b","c"]';
    var arr = $.parseJSON(str);

eg2:
    var str = '{"name":"eric"}';
    var json = $.parseJSON(str);

例子:新聞列表

造假數(shù)據(jù)

作業(yè):
    1.聚劃算沒完成的趕緊完成
    2.ajax例子
    3.
        百度新聞

        [
            {"title":"","href":"","child":[
                {"title":"","href":""},
                {"title":"","href":""}
            ]},
            {"title":"","href":"","child":[
                {"title":"","href":""},
                {"title":"","href":""}
            ]},
            {"title":"","href":"","child":[
                {"title":"","href":""},
                {"title":"","href":""}
            ]}
        ]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,983評論 25 709
  • 閑翻雜志,目光被一張照片吸住了。 綠色的藤蔓下面,垂掛著兩個細(xì)長的苦瓜。青碧映目,涼爽逼人,遍體的暑熱與心里的燥煩...
    鉛筆芒種閱讀 509評論 0 1
  • 傍晚時分,二妞兒看到一則帖子“某拍攝團隊12月25日在貢嘎西南坡穿越線路(老榆林至貢嘎寺方向)的莫溪溝尾營地發(fā)現(xiàn)一...
    愛瑪閱讀 340評論 0 0
  • 題目沒別的意思 只是正好聽這首歌而已 晚秋的天已經(jīng)熱不起來 寒意也越來越重。入夜 , 我點了一根煙 , 披了大衣出...
    巫小樓閱讀 197評論 1 2

友情鏈接更多精彩內(nèi)容