1 x y z分别输出的是什么?

var x=1,

   y=z=0;

  function add(n){

    return n= n+1;

  };

 y=add(x);

 function add(n){

    return n=n+3

 };

 z=add(x);

 x=?y=?z=?

考察点:预编译,有两个函数声明,函数的声明会被提升,所以第二个会把第一个覆盖,故x=1 y=4 z=4

2 下列函数分别输出的是什么?

function foo(x){

  console.log(arguments); // 打印实参

  return x;

}

foo(1,2,3,4,5);

(function foo(x){

  console.log(arguments);

  return x;

})(1,2,3,4,5);

function foo(){

  bar.apply(null,arguments);//bar(arguments)

};

function bar(){

  console.log(arguments);

};

foo(1,2,3,4,5);

3 下面函数会弹出什么?

function b(x,y,a){

  arguments[2] = 10;

  alert(a)

};

b(1,2,3);

function b(x,y,a){

   a = 10;

  alert(arguments[2])

};

b(1,2,3);

两个打印的都是10,因为只要存在,形参和实参列表是相互映射一一对应的,形参改变,实参也会随之改变

4 判断下面的类型

var f=(

  function f(){

    return "1";

  },

  function g(){

    return 2;

  }

)();

typeof f ?

首先我们要了解这个括号的意思 例如 var num=(1,2);这时候num就是2,如果var num = 1,2这样则会因为语法错误报错,所以这一题其实就是

function g(){

  return 2;

}();

立即执行函数,返回值是2,判断之后则是typeof 2 number

5 判断下面的输出值

var x=1;
if( function f(){} ){ //当判断玩之后能函数消失

  x+ = typeof f;这时候函数是undefined

}

console.log(x);

6.判断下面弹出的值

var name="222";

var a={

  name:"111",

  say:function(){

    console.log(this.name);

  }

}

var fun = a.say;

fun();

a.say();

var b={

  name:"333",

  say:function(fun){

    fun();

  }

};

b.say(a.say); //没人调用,里面指向的还是window

b.say = a.say;

b.say();

7 实现阶乘

方法1 : 函数调用

function Fn(n){
  if(n <= 1){
  return 1;
}
  return n * Fn(n-1);
}
Fn(5);

方法2 : arguments.callee //严格模式下会报错

var num=(function(n){
if(n<=1){
  return 1;
}
  return n*arguments.callee(n-1);//指向函数本身
}(5))

方法3:for循环

function fn (num) {
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
for (var i = num - 1; i >= 1; i--) {
num *= i;
}
}
return num;
};
fn(6); 方法4:while循环
function fn (num) { 
var result = num;
if (num < 0) {
return -1;
} else if (num === 0 || num === 1) {
return 1;
} else {
while (num > 1) {
num--;
result *= num;
}
}
return result;
};
fn(6);

8.

var foo="123";

function print(){

  var foo="456";

  this.foo = "789";

  console.log(foo)

}

print();

var foo="123";

function print(){

  this.foo = "789";

  console.log(foo)

}

print();//789

var foo="123";

function print(){

  this.foo = "789";

  console.log(foo)

}

new print();

9.下面运行test()和new test()分别弹出什么?

var a=5;
function test(){
a=0;
alert(a);
alert(this.a)
var a;
alert(a)
}
test();
new test();

new一个对象的意思是啥?

function test(){

  var this = {

    __proto__:test.prototype;

  }//this上没有a 所以是undefined

  或者是

  var this = Object.creat(test.prototype)

}

10.

var bar={ a : 001};

function print(){  

  bar.a = 'a';

  Object.prototype.b = 'b''

  return function inner(){

    console.log(bar.a);

    console.log(bar.b);

  }

}

print()();//第一个括号执行return 第二个括号执行return里面的函数

this真题编译的更多相关文章

  1. 第四届蓝桥杯 c/c++真题

    第四届蓝桥杯 c/c++真题 <1>高斯日记 问题 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们 ...

  2. 第三届蓝桥杯 c/c++真题

    第三届蓝桥杯真题 c/c++ 以下题目我自己也并不是所有的题目都是一次性就能做对或是有结题思路的.有些题目也是经过查证网上相关的资料或是参考了别人的代码和解题思路才做出来的.总的来看,这份题目考了很多 ...

  3. 分享13道上海尚学堂拿回来的Java面试真题,这些都是Java核心常见问题,想拿OFFER必看!

    上海尚学堂Java培训学员参加面试带回来的真题,分享出来与大家,希望大家能认真地看看做一遍.后面有详细题解答案,对照下,看看自己做得怎么样,把这些面试遇到的真题全部掌握,做好面试笔试前的准备. 一.1 ...

  4. 2018最新大厂Android面试真题

    前言 又到了金三银四的面试季,自己也不得不参与到这场战役中来,其实是从去年底就开始看,android的好机会确实不太多,但也还好,3年+的android开发经历还是有一些面试机会的,不过确实不像几年前 ...

  5. 二级C语言真题笔记

    二级C语言真题笔记 1. 知识重点:数据类型.循环.数组.函数.指针.结构体与共同体 2. 求程序的运行结果 #include <stdio.h> main() {     short i ...

  6. 历年NOIP真题总结

    前言:最近把历年的NOIP真题肝了一遍(还有3个紫题先咕掉了),主要是到1998年的提高组的题.把题目的做题简要思路搁在这儿,一个是为了考前翻一翻,想想自己的哪些思路要梳理的什么什么的,反正怎么说呢, ...

  7. 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

    2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...

  8. 面试系列二:精选大数据面试真题JVM专项-附答案详细解析

    公众号(五分钟学大数据)已推出大数据面试系列文章-五分钟小面试,此系列文章将会深入研究各大厂笔面试真题,并根据笔面试题扩展相关的知识点,助力大家都能够成功入职大厂! 大数据笔面试系列文章分为两种类型: ...

  9. 2020年!最全Android大厂面试真题合集(附答案)

    这份Android面试真题涵盖了图片,网络和安全机制,网络,数据库,插件化.模块化.组件化.热修复.增量更新.Gradle,架构设计和设计模式,Android Framework .Android优秀 ...

随机推荐

  1. ios图文混编瀑布流

    ios图文混编瀑布流,利用UICollectionView 实现图文混编的瀑布流,支持section内容伸缩 http://www.huiyi8.com/pubuliu/

  2. codeforces 658C C. Bear and Forgotten Tree 3(tree+乱搞)

    题目链接: C. Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. django model中get()和filter()方法的区别

    django的get()方法是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错. django的filter()方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在 ...

  4. xpath normalize-sapce 函数的Java实现

    normalize-space函数实现的功能是:删除字符串前后空格,中间的空格有多个只保留一个. 1. 用Java正则表达式 public static String normalizeSpace(S ...

  5. android自定义控件(三) 增加内容 自定义属性 format详解

    转自 http://www.gisall.com/html/35/160435-5369.html 1. reference:参考某一资源ID. (1)属性定义: <declare-stylea ...

  6. 集训Day3

    被疯狂造谣+请家长 但生活还得继续 ...今天的题口胡一下吧明天码 PKUSC2018 D1T1 对于x:若x不翻,则x的一半到x的数都不能翻 若x翻,则x到2x都得翻 剩下随便安排 排列组合一下 P ...

  7. ACM学习历程—HDU 2112 HDU Today(map && spfa && 优先队列)

    Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线 ...

  8. 【Opencv】直方图函数 calchist()

    calchist函数需要包含头文件 #include <opencv2/imgproc/imgproc.hpp> 函数声明(三个重载 calchist函数): //! computes t ...

  9. NodeJS测试实例

    实例一: 先来个简单的实例,把下面的代码保存为main.js,让自己欣喜下: var http = require("http"); function onRequest(requ ...

  10. HDU1875(最小生成树)

    畅通工程再续 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...