1、浏览器加载网页的顺序:
点击可查看详细描述
标签,到
中加载的CSS文件;
,CSS文件拿到了,就开始渲染页面;
标签,引用了图片,向服务器发送请求,此时浏览器不会等到图片下载完,而是继续渲染后面的代码;
中的代码; const b = 2;//正确
// const b;//错误,必须初始化 ,给变量赋值
console.log('函数外const定义b:' + b);//有输出值
// b = 5;//变量不可以进行修改
// console.log('函数外修改const定义b:' + b);//无法输出
b.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。
var a = 1;
// var a;//不会报错,没有初始化,如果运行会输出undefined
console.log('函数外var定义a:' + a);//可以输出a=1
function change(){
a = 4;
console.log('函数内var定义a:' + a);//可以输出a=4
}
change();
console.log('函数调用后var定义a为函数内部修改值:' + a);//可以输出a=4
c.let是块级作用域,函数内部使用let定义后,对函数外部无影响。
let c = 3;
console.log('函数外let定义c:' + c);//输出c=3
function change(){
let c = 6;
console.log('函数内let定义c:' + c);//输出c=6
}
change();
console.log('函数调用后let定义c不受函数内部定义影响:' + c);//输出c=3
3、css2与css3有哪些区别?
1.css3新增了选择器;
2.新增了文本属性,背景属性;
3.新增了弹性盒子(应用于移动端,响应式布局)
4.新增了动画,变形
4、函数的方法:
a.apply():改变this的指向,如果带参数,必须是数组形式会立即调用函数;
b.call():会改变this的指向,如果带参数,必须是列表形式,会立即调用;
c.bind():改变this的指向,不带参数,不会立即调用函数
var name = "小王",
age = 12;
var obj = {
name: "小张",
objAge: this.age,
myFun: function(fm, t) {
console.log(this.name + "年龄" + this.age, "来自" + fm + "去往" + t);
}
}
var db = {
name: "德玛",
age: 99
}
obj.myFun.call(db,‘成都’,‘上海’); //德玛 年龄 99 来自 成都去往上海
obj.myFun.apply(db,[‘成都’,‘上海’]); //德玛 年龄 99 来自 成都去往上海
obj.myFun.bind(db,‘成都’,‘上海’)(); //德玛 年龄 99 来自 成都去往上海
obj.myFun.bind(db,[‘成都’,‘上海’])(); //德玛 年龄 99 来自 成都,上海去往undefined