var i = 1;
function A(){
alert(i);
var i = 3;
alert(i);
}
A();
alert(i);
请使用一条语句对数组求和,要求使用递归。
var arr = [1,2,3,4,5];
function sum(args){
//请在这里填上一条语句,完成对数组求和,要求使用递归。
}
sum(arr);
这段代码输出什么?如果想让这段代码输出0123456789,应该怎么修改?
for (var i = 0; i < 10; ++i) {
setTimeout(function () {console.log(i)}, 0);
}
下列代码的运行结果?
var n = 3;
function A() {
var n = 1;
B = function () {
n = n + 1
}
function C() {
alert(n);
}
return C;
}
var D = A();
D(); //结果是什么,为什么?
B();
D(); //结果是什么,为什么?
下列代码的运行结果?
var a =5;
function F(){
a = 10;
return;
function a(){}
}
F();
alert(a);
下列代码的结果是什么?为什么?
var a = 5;
function a(b) {
alert(b);
}
a(6);
alert(a);
下列代码的输出结果?
function A(){
var rs = new Array();
for(var i=0;i<3;i++){
rs[i] = function(){ return i;} ;
}
return rs;
}
var rst = A()
document.write(rst[0]());
document.write(rst[1]());
document.write(rst[2]());
document.write(rst[3]());
i = 1;
alert(i);
var A = function() {
alert(i);
var i = 2;
alert(i);
}
A();
下列代码的运行结果。
var i = 1;
function A(){
i = 2;
function B(){
var i = 3;
console.log(i);
}
B();
console.log(i);
}
A();
console.log(i);
下列代码的运行结果。
var b = 2008;
function fnB(){
alert(this.b);
+function(){alert(this.b);}();
function fnB1(){alert(this.b);}
fnB1();
}
var oB = {};
oB.b = 2011;
oB.m = fnB;
oB.m();
// 函数中的子函数中的this默认指向window,在js中this没有传递性
下列代码的输出结果。
var i = 2014;
function fnA(fn){
fn();
}
var o = {
i:2008,
fnB:function(){
alert(this.i);
},
fnC:function(){
this.fnB();
fnA(this.fnB);
}
}
o.fnC();
// 作用域
下列代码的输出结果。
var a = "全局的a";
function obj() {
this.fn = function() {
alert(this.a);
setTimeout(this.fn, 1000);
}
}
var o = new obj();
o.a = "局部的a"
o.fn();
下列代码输出结果。
var i=2000;
var oA = {
i:2008,
fnA:function(){ alert(this.i); }
}
var oB = { i:2010 }
oA.fnA.call(oB); //输出?为什么?
oA.fnA.call(); //输出?为什么?
oA.fnA(); //输出?为什么?
下列代码输出结果。
function A(a,b){
this.sum = a+b;
}
function B(){
A.call(this,[2,3,4]);
}
var b = new B();
alert(b.sum);
下列代码输出结果。
function A(){
this.course = "PHP高级工程师班";
this.school = "动力学院"
}
function B(){
A.apply(this);
}
var c = new B();
alert(c.school);
alert(c.course);
下列代码输出结果。
function A(a,b){
this.sum = a+b;
}
function B(){
A.apply(this,[2,3,4]);
}
var b = new B();
alert(b.sum);
下列代码输出结果。
function A(arg){
this.sum = arg[0]+arg[1];
}
function B(){
A.apply(this,[2,3,4]);
}
var b = new B();
alert(b.sum);