前端学习(三十)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
總結
以上是生活随笔為你收集整理的前端学习(三十)es6的一些问题(笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Entity Framework Cod
- 下一篇: git报错:error: Your lo