前端学习(三十)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的一些问题(笔记)的更多相关文章
- 前端学习(三十六)promise(笔记)
一个页面: 头部.用户信息.新闻列表 jquery ajax: 1.$.ajax({ url:'', dataType:'json', }).then(res=>{ //r ...
- 前端学习(三十八)vue(笔记)
Angular+Vue+React Vue性能最好,Vue最轻=======================================================Angular ...
- 前端学习(三十五)模块化es6(笔记)
RequireJs:一.安装.下载 官网: requirejs.org Npm: npm i requirejs二.使用 以前的开发方式的问题: 1).js 是阻塞加 ...
- 前端学习(三十四)对象&模块化(笔记)
人,工人 //类的定义 function Person(name,age){ //构造函数 //工厂模式 //1.原料 //var obj = new ...
- 前端学习(三十九)移动端app(笔记)
移动端App 开发App的三种方式 Native App 原生 底层语言 java Android oc ...
- 前端学习(二十九)nodejs(笔记)
后台语言 java php .Net python Node.js------------------------------------------------- ...
- 前端学习(二十二)css3(笔记)
html5 普通: header section footer nav article aside figure 特殊: canvas video audio ...
- 前端学习(二十)jquery属性(笔记)
jq里面操作属性的方法: 设置属性: 设置一个: $(this).attr('src','img/pic2.jpg'); 设置一组: ...
- Salesforce LWC学习(三十九) lwc下quick action的recordId的问题和解决方案
本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:hasRecordId/documentation ...
随机推荐
- java 计算时间差
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date d1 = df.parse(&quo ...
- plsql查询数据中文乱码
在plsql中进行表数据查询的时候,发现查询出来的中文居然显示为乱码,通过查找资料解决该问题. 1.查看数据的编码(语句:select * from v$nls_parameters) 发现显示的语言 ...
- 太可怕了!黑客是如何攻击劫持安卓用户的DNS?
最近发现的针对Android设备的广泛路由器的DNS劫持恶意软件现在已升级为针对iOS设备以及桌面用户的功能. 被称为RoamingMantis的恶意软件最初发现在上个月劫持了互联网路由器,以散布旨在 ...
- python的转义字符,以及字符串输出转义字符
Python的转义字符及其含义 符 号 说 明 \' 单引号 \" 双引号 \a 发出系统响铃声 \ ...
- python自动刷新抢火车票
#!/usr/bin/env python #-*- coding: utf-8 -*- """ 火车票 可以自动填充账号密码,同时,在登录时,也可以修改账号密码 然后手 ...
- oracle常用sql汇总(随时更新)
1.wm_concat:将返回的多行数据汇总为一列,用,分割,数据类型默认为CLOB类型 2. 递归查询(树状结构数据查询,如菜单,部门等等) SELECT [LEVEL],* FEOM table_ ...
- 【MySQL】实现自增函数sequence
前言 当前数据库为:mysql由于mysql和oracle不太一样,不支持直接的sequence,所以需要创建一张table来模拟sequence的功能,理由sql语句如下: 步骤 1.创建seque ...
- el-tree或者el-table里边的slot-scope传递变量但是没有元素对象解决方法
传统的是点击一个元素可以通过e.target进行获取,但是对于这种的回调函数里边加个e再进行e.target就获取不到元素了,更获取不到点击的位置那么可以在触发的地方写成箭头函数并且传递一个变量.如下 ...
- win7搭建局域网时间服务器
近日,本人想在局域网内通过普通的windows 7 PC搭建一台NTP服务器,可看似简单的配置却给我捣腾了了半天.初期,参考了互联网的上相关的配置文档,可网络设备就是死活不同步NTP服务器的时间.实在 ...
- LG1440 求 m 区间内的最小值
题目描述 一个含有 \(n\) 项的数列 (\(n≤ 2000000\)),求出每一项前的 \(m\) 个数到它这个区间内的最小值.若前面的数不足 \(m\) 项则从第 \(1\) 个数开始,若前面没 ...