JavaScript
- ==与===区别?
- ==会自动转换类型再比较。
- ===数据类型不一致,直接false;数据类型一致再比较。(推荐使用)
- const, var, let的区别?(注;如果三个都没用,那么这个变量在此页面中为全局变量)
- const : 定义常量,而且必须初始化。
const b = 2;//正确
- var : 定义的变量可以修改,如果不初始化会输出undefined,不会报错。
var a = 1;
- let : 块级作用域,函数内部使用let定义后,对函数外部无影响。
- const : 定义常量,而且必须初始化。
- this 指向当前对象
var xiaoming = {
name: '小明',
birth: 1990,
age: function () {
var that = this; // 在方法内部一开始就捕获this
function getAgeFromBirth() {
var y = new Date().getFullYear();
return y - that.birth; // 用that而不是this
}
return getAgeFromBirth();
}
};
xiaoming.age(); //30
- 箭头函数
// 两个参数:
(x, y) => x * x + y * y
// 无参数:
() => 3.14
//多条语句时{}不能省略
// 可变参数:
(x, y, ...rest) => {
var i, sum = x + y;
for (i=0; i<rest.length; i++) {
sum += rest[i];
}
return sum;
}
DOM
- 添加DOM对象
haskell = document.createElement('p');
haskell.id = 'haskell';
haskell.innerText = 'Haskell';
//相当于插入 <p id="haskell">Haskell</p>
浏览器
- Promise先执行逻辑,再根据结果调用success函数或fail函数。
//一个简单的例子
new Promise(method).then(function (result) {
console.log('成功:' + result);
}).catch(function (reason) {
console.log('失败:' + reason);
});
jQuery
- jQuery对象与DOM对象
var div = $('#abc'); // jQuery对象
var divDom = div.get(0); // 假设存在div,获取第1个DOM元素
var another = $(divDom); // 重新把DOM包装为jQuery对象
- jQuery事件
- ready:当页面被载入并且DOM树完成初始化后触发。
//document是原生DOM对象
$(document).on('ready', function () {
$('#elementId).on('submit', function () {
alert('submit!');
});
});
//on等价于下面这种写法
$(document).ready(function () {
// on('submit', function)也可以简化:
$('#testForm).submit(function () {
alert('submit!');
});
});
- 事件参数(监听事件)
$(function () {
$('#testMouseMoveDiv').mousemove(function (e) {
$('#testMouseMoveSpan').text('pageX = ' + e.pageX + ', pageY = ' + e.pageY);
});
});