下面这个js程序输出是什么?
function Foo() {
var i = 0
return function() {
console.log(i ++);
}
}
var f1 = Foo(),
f2 = Foo()
f1() // 0
f1() // 1
f2() // 0
下列关于js的说法正确的是
A. 所有变量在使用之前都必须做声明
B. js是面下对象的程序设计语言
C.js是解释性语言
D. js前身是Oak语言
该代码在浏览器中执行的结果是什么
var obj = {}
obj.log = console.log
obj.log.call(console, this) // this指向的是window
以下对闭包(closure)理解正确的有
A
闭包是指有权访问另一个函数作用域中变量的函数
B函数内再嵌套函数
C内部函数可以引用外层的参数和变量
D参数和变量不会被垃圾回收机制回收
js实现跨域的方式总结:
jsonp请求
:利用 script 标签的跨域特性,可以不受限制的在其他域中加载资源,类似的标签还有 imgdocument.domain
:这种方式用在主域名不同,子域名相同的跨域访问中window.name
window.postMessage
CORS
Web Socket
在jquery中指定一个类,如果存在就执行删除功能,否则执行添加功能,下列哪个选项能直接完成该功能
A removeClass()
B deleteClass()
CtoggleClass(class))
(详情)
D addClass()
以下代码将在浏览器中输出什么:
var str = new RegExp('e')
// str.exec('hello') => ["e", index: 1, input: "hello", groups: undefined]
document.write(str.exec('hello')) // => document可以将数组中的元素分别渲染到界面
关于这段代码正确的结论是:
var F = function() {}
Object.prototype.a = function() {}
Function.prototype.b = function() {}
var f = new F()
A
f能取到a,但取不到b
B f能取到a,b
C F能取到b,不能取到a
D F能取到a,不能取到b
下面哪些方法可以用作js异步模式编程
A
回调函数
B事件监听
C发布 / 订阅
DPromise对象
下列不属于document对象的方法的是
A
onload
B querySelectAll
Cchildren
Dajax
注:onload是属性不是方法