1、
var c
function Test() {
var a = 0
c = function () {
a++
}
}
Test()
c()
c()
Uncaught ReferenceError: a is not defined 这个不是闭包
2、
var a = null
console.log(a + 1) //1
console.log(!!a) //false
console.log(a + " ") //null
a = false
console.log(!!a) //false
console.log(a + 1) //1
console.log(a + " ") //false
a = 0
console.log(!!a) //false
console.log(a + 1) //1
console.log(a + " ") //0
3、
var a = 1
module.exports = function Test() {
console.log(a++)
}
在别的文件不能访问a,但是能访问Test。
4、
Laya引擎支持Webgl和canvas两种引擎渲染。Laya.init(width,height, WebGL) 不填第三个参数,默认是canvas
canvas是一个H5标签,作用是在网页上画图,但是只支持2D,不支持3D。WebGL是一种3D绘图标准,WebGL支持3D,且性能优于canvas。所以现在能用WebGL的都用WebGL,有些项目用canvas是因为部分手机不支持WebGL。
5、构造函数的静态变量,动态变量,原型变量,实例变量。
var p = new Person('yummy') //实例化
function Person (name) {
var name = name // 私有属性
this.name = name //公有属性
function getName() { //私有方法
return name
}
}
Person.prototype.getName = function() {
return this.name //公有方法
}
Person.name = 'miki' //静态属性
Person.getName = function(){
return this.name //静态方法
}
Person.prototype.age = 18 //原型变量
p.no = 1 //实例变量
6、==和===的区别
==只比较值
===比较值和类型
Thanks