- 写出下面代码输出的结果
console.log(a);
var a = 12;
a = 13;
console.log(a);
console.log(a);
let a = 12;
a = 13;
console.log(a);
console.log(a);
a = 13;
console.log(a);
- 写出下面代码输出的结果
var a = 12;
var a = 13;
console.log(a);
let a = 12;
let a = 13;
console.log(a);
- 写出下面代码输出的结果
console.log(a, b);
var a = 12,
b = 12;
function fn() {
console.log(a, b);
var a = b = 13;
console.log(a, b);
}
fn();
console.log(a, b);
- 写出下面代码输出的结果
console.log(a, b, c);
var a = 12,
b = 13,
c = 14;
function fn(a) {
console.log(a, b, c);
a = 100;
c = 200;
console.log(a, b, c);
}
b = fn(10);
console.log(a, b, c);
- 写出下面代码输出的结果
console.log(a);
if(!('a' in window)){
var a = 13;
}
console.log(a);
- 写出下面代码输出的结果
fn();
function fn(){ console.log(1); }
fn();
function fn(){ console.log(2); }
fn();
var fn = function(){ console.log(3); }
fn();
function fn(){ console.log(4); }
fn();
function fn(){ console.log(5); }
fn();
- 写出下面代码输出的结果
f = function () {return true;}
g = function () {return false;}
~function () {
if (g() && [] == ![]) {
f = function () {return false;}
function g() {return true;}
}
}();
console.log(f());
console.log(g());
- 写出下面代码输出的结果
console.log(typeof a);
console.log(typeof a);
let a;
- 写出下面代码输出的结果
var ary = [12, 23];
function fn(ary) {
console.log(ary);
ary[0] = 100;
ary = [100];
ary[0] = 0;
console.log(ary);
}
fn(ary);
console.log(ary);
- 写出下面代码输出的结果(如何查找上级作用域和堆栈内存释放问题)
var n = 1;
function fn() {
var n = 2;
function f() {
n--;
console.log(n);
}
f();
return f;
}
var x = fn();
x();
console.log(n);
var i = 5;
function fn(i) {
return function (n) {
console.log(n + (++i));
}
}
var f = fn(1);
f(2);
fn(3)(4);
fn(5)(6);
f(7);
console.log(i);
var i = 20;
function fn() {
i-=2;
return function (n) {
console.log((++i)-n);
}
}
var f=fn();
f(1);
f(2);
fn()(3);
fn()(4);
f(5);
console.log(i);
- 写出下面代码输出结果
var num = 10;
var obj = {num: 20};
obj.fn = (function (num) {
this.num = num * 3;
num++;
return function (n) {
this.num += n;
num++;
console.log(num);
}
})(obj.num);
var fn = obj.fn;
fn(5);
obj.fn(10);
console.log(num, obj.num);
- 写出下面代码输出结果
var fullName='language';
var obj={
fullName:'javascript',
prop:{
getFullName:function(){
return this.fullName;
}
}
};
console.log(obj.prop.getFullName());
var test=obj.prop.getFullName;
console.log(test());
var name='window';
var Tom={
name:"Tom",
show:function(){
console.log(this.name);
},
wait:function(){
var fun=this.show;
fun();
}
};
Tom.wait();
- 腾讯面试题
function fun(){
this.a=0;
this.b=function(){
alert(this.a);
}
}
fun.prototype={
b:function(){
this.a=20;
alert(this.a);
},
c:function(){
this.a=30;
alert(this.a)
}
}
var my_fun=new fun();
my_fun.b();
my_fun.c();
- 360面试题
window.val=1;
var json={
val:10,
dbl:function(){
this.val*=2;
}
}
json.dbl();
var dbl = json.dbl;
dbl();
json.dbl.call(window);
alert(window.val + json.val);
(function(){
var val =1;
var json ={
val:10,
dbl:function(){
val*=2;
}
};
json.dbl();
alert(json.val+val);
})();
function C1(name){
if(name) {
this.name = name;
}
}
function C2(name){
this.name =name;
}
function C3(name){
this.name = name ||'join';
}
C1.prototype.name='Tom';
C2.prototype.name='Tom';
C3.prototype.name='Tom';
alert((new C1().name)+(new C2().name)+(new C3().name));
- 滴滴面试题
var foo = {
bar: function () {
console.log(this);
}
};
foo.bar();
(foo.bar)();