• 前端学习(三十)es6的一些问题(笔记)


    赋值表达式
        document.onclick = document.onmouseover = fn;
        var a = b = c = d = 5;             不推荐

    逗号表达式
        var a = 5,
            b = 3,
            c = 2;

        听逗号最后一个
        if(0,1){                     if(1,0)
            true     √                    true
        }else{                        else
            false                         false     √
        }

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

        num = 12,5;                 12
            逗号的优先级很低

        numu = (12,5);                 5


    预解析
        会把所有声明提到顶部

        预解析不会突破script标签
        预解析不会突破作用域
        函数也有预解析
        变量赋值形式的函数,按照变量的预解析走

        script执行步骤:
            读取一个script标签->预解析->执行->读取下一个script标签
    ==============================================================
    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谁也不属于,应该弹undefined。但是弹window。
    =============================================================
    属于js的bug

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

    严格模式
        'use strict';
        必须放在第一行,上面什么都不能有

        解决了哪些问题?
            1.this的问题
            2.不允许不加var声明变量
            3.不允许连等声明变量
            4.干掉with

        是好东西。
        不兼容IE低版本。

        自己写得js文件都要加严格模式
    ==========================================================
        作者?
            布兰登·艾克
        作者为什么弄出这个bug?
    ===========================================================
    ajax交互
        ajax不能跨域

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

        为什么需要跨域?
            1.第三方验证
            2.多个项目
    ======================================================
        jsonp         json with padding
            跨域交互

            必须有jsonp的接口

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

            wd         word             关键词
            cb         callback         回调函数的名字

        $.ajax({
            url:'',
            data:{
                wd:''
            },
            dataType:'jsonp',
            jsonp:'回调参数名'
        });

    玩jsonp:
        1.先有接口
        2.测试接口
            直接写在地址栏
        3.
            $.ajax({
                url:'百度的接口地址',
                dataType:'jsonp',
                data:{
                    wd:'关键词'
                },
                jsonp:'cb'
            }).then((res)=>{
                成功
                res.s
            },(err)=>{
                失败
            });


    搜索
        https://www.baidu.com/s?wd=关键词
        window.open('url','_self');

    Jsonp核心原理
        利用script跨域加载脚本,执行回调函数
    Ajax核心原理
        使用XMLHttpRequest对象

    1.ajax如何跨域?
        jsonp
    2.jsonp为什么不是ajax?
        因为没用XMLHttpRequest

    360搜索
        https://sug.so.360.cn/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爱奇艺会员","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);

    数据网站
        https://bird.ioliu.cn/
    ==================================================
    移动端
        轮播图插件
        swiper
        官网:http://www.swiper.com.cn/
        只需要布局就行

        滚屏插件
        iscroll
        官网: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

  • 相关阅读:
    【5】Python之nnlog写日志模块,yagmail发送邮件模块
    【11】Python面向对象:封装和继承(类、函数/方法、重写)
    【5】Java继承
    【4】作业:办公信息化管理系统
    【3】综合案例:学生信息管理
    【2】Java封装
    【1】java面向对象
    【9】综合案例:数组移位与统计
    【8】Java方法
    【7】Java数组之二维数组
  • 原文地址:https://www.cnblogs.com/wxiaoyu/p/9579440.html
Copyright © 2020-2023  润新知