(17.05.18)賦值表達(dá)式、逗號(hào)表達(dá)式、預(yù)解析、this的方法、嚴(yán)格模式、ajax跨域問題、jsonp、jsonp的核心原理、ajax核心原理、swiper

賦值表達(dá)式
????document.onclick = document.onmouseover = fn;
????var a = b = c = d = 5;????????不推薦

逗號(hào)表達(dá)式

    var a = 5,
        b = 3,
        c = 2;

聽逗號(hào)最后一個(gè)

    if(0,1){                    if(1,0)
        true    √                   true
    }else{                      else
        false                       false   √
    }

    alert('a','b');             'a'
    alert(('a','b'));           'b'

    num = 12,5;                 12
        逗號(hào)的優(yōu)先級(jí)很低

    numu = (12,5);              5

預(yù)解析

????會(huì)把所有聲明提到頂部

????預(yù)解析不會(huì)突破script標(biāo)簽
????預(yù)解析不會(huì)突破作用域
????函數(shù)也有預(yù)解析
????變量賦值形式的函數(shù),按照變量的預(yù)解析走

script執(zhí)行步驟:
????讀取一個(gè)script標(biāo)簽->預(yù)解析->執(zhí)行->讀取下一個(gè)script標(biāo)簽


this的問題
????方法屬于誰this就是誰

    function show(){
        alert(this);            window
    }
    show();
    show屬于window的

    document.onclick = function(){
        alert(this);            document
    };
    function屬于document的

    document.onclick = function(){
        function show(){
            alert(this);
        }
        show();
    };

????show誰也不屬于,應(yīng)該彈undefined。但是彈window。


屬于js的bug

????作者造成的。
????作者也知道有這些bug。

嚴(yán)格模式
'use strict';
???? 必須放在第一行,上面什么都不能有

解決了哪些問題?
????1. this的問題
????2. 不允許不加var聲明變量
????3. 不允許連等聲明變量
????4. 干掉with

????是好東西。
????不兼容IE低版本。

????自己寫得js文件都要加嚴(yán)格模式

????作者?
????????布蘭登·艾克
????作者為什么弄出這個(gè)bug?


ajax交互
????ajax不能跨域

????跨域:
????????www.a.com
????????www.b.com

為什么需要跨域?
????1. 第三方驗(yàn)證
????2. 多個(gè)項(xiàng)目


jsonp???? json with padding
????????跨域交互

????????必須有jsonp的接口

百度下拉的接口
????https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a&cb=show

        wd      word            關(guān)鍵詞
        cb      callback        回調(diào)函數(shù)的名字

    $.ajax({
        url:'',
        data:{
            wd:''
        },
        dataType:'jsonp',
        jsonp:'回調(diào)參數(shù)名'
    });

玩jsonp:

    1.先有接口
    2.測試接口
        直接寫在地址欄
    3.
        $.ajax({
            url:'百度的接口地址',
            dataType:'jsonp',
            data:{
                wd:'關(guān)鍵詞'
            },
            jsonp:'cb'
        }).then((res)=>{
            成功
            res.s
        },(err)=>{
            失敗
        });

搜索

    https://www.baidu.com/s?wd=關(guān)鍵詞
    window.open('url','_self');

Jsonp核心原理
????利用script跨域加載腳本,執(zhí)行回調(diào)函數(shù)
Ajax核心原理
????使用XMLHttpRequest對(duì)象

  1. ajax如何跨域?
    ????jsonp
  2. jsonp為什么不是ajax?
    ????因?yàn)闆]用XMLHttpRequest

360搜索
https://sug.so.#/suggest?callback=show&word=a

google
https://www.google.com.hk/complete/search?client=hp&hl=zh-CN&gs_rn=64&gs_ri=hp&cp=1&gs_id=uc&q=a&xhr=t

bing
http://cn.bing.com/AS/Suggestions?pt=page.home&mkt=zh-cn&qry=a&cp=1&cvid=A2306BB1EE354A81BB7DDBDF96BB8395

sogou
https://www.sogou.com/suggnew/ajajjson?key=aa&type=web
????window.sogou.sug(["aa",["aaa","aape","aabc的四字詞語大全","a愛奇藝會(huì)員","aabb","aabc","aa655","阿安卡盟","aaa云","aabc形式的詞語"],["0;0;0;0","1;0;0;0","2;0;0;0","3;0;0;0","4;0;0;0","5;0;0;0","6;0;0;0","7;0;0;0","8;0;0;0","9;0;0;0"],["","","","","","","","","",""],["0"],"","suglabId_1"],-1);

數(shù)據(jù)網(wǎng)站
https://bird.ioliu.cn/


移動(dòng)端
????輪播圖插件
????swiper
????官網(wǎng):http://www.swiper.com.cn/
????只需要布局就行

????滾屏插件
????iscroll
????官網(wǎng):http://cubiq.org/iscroll-5

swiper 無縫輪播圖


題:
function show(b){
alert(a);
var a = b;
alert(a);
}
var a = function (num){
return show(num);
}
alert(a(12));
undefined 12 unefined

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

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

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