JavaScript基础问答(一)

1:什么是引用类型?
在ECMA中引用类型是一种数据结构,用于将数据和功能组织在一起。
2:JavaScript中有哪几种引用类型?
  Object 、Array 、Date、RegExp、Function、基本包装类型、单体内置对象
3:请说出基本类型值有哪些?

Undefined、Null、Boolean、Number、String。这五种基本数据类型是按值访问的,因为可以操作保存在变量中实际的值而不是引用。

4:创建Object实例有哪些方法?
  //方法一:使用new操作符后跟Object构造函数
  var person = new Object();
  person.name = 'yura';
  person.age = 14;
  
 //方法二:使用对象字面量
  var person = {
      name:'yriua',
      age:13
  };

注意:在通过对象字面量定义对象时,实际上不会调用Object构造函数

5:访问对象属性有哪几种方法?
      //方法一:通过方括号语法
      //方括号优点主要是可以通过变量来访问属性
      //若属性名中包含会导致语法错误的字符,或者属性名使用关键字或保留字,使用方括号。
      console.log(person['name']);

      //方法二:通过点语法
      console.log(person.name;);
6:简单介绍一下Funtion类型。
      函数实际上是对象。每个函数都是Function类型的实例。而且都有其他引用类型一样具有属性和方法。由于函数式对象,所以函数名实际上是一个指向函数对象的指针,不会与某个函数绑定。
7:什么是函数声明,声明是函数表达式。函数表达式和函数声明有什么不同?
    //函数声明
    function sum (){
      //.........
    }

  //函数表达式
  var sum = new Function ('num1','num2,"return num1+num2");

函数声明和函数表达式区别:解析器会率先读取函数声明,并使其在执行之前就可以访问。至于函数表达式,必须等到解析器执行到他所在的代码行,才会真正被解析。

注意!!函数是对象,函数名是指针

8:简介arguments?

arguments是函数内部的对象。他是一个类似数组的对象,包含着传入函数中的所有参数。
argument有一个callee属性,该属性是一个指针,指向拥有这个arguments对象的函数
如:

//这段代码函数的执行与函数名factorial紧紧耦合,
function factorial(num){
  if(num<=1){
    return 1;
  }else{
    return num*factorial(num-1);
  }
}

//为消除这种耦合现象。我们可以使用auguments.callee
function factorial(num){
  if(num<=1){
    return 1;
  }else{
    return num*argumens.callee(num-1);
  }
}
9:this是什么鬼?

this是函数内部的一个特殊的对象。this引用的是函数根据以执行的环境对象。(如在网页的全局对象中调用函数时,this对象引用的就是window)

10:caller是什么?

caller是函数的一个对象的属性。这个属性中保存着调用当前函数的函数引用。

function outer(){
    inner();
}

function inner(){
alert(inner.caller);
}

outer();  \\显示outer函数源代码
11:apply和call有什么区别。他们的作用是什么?

每个函数都包含两个非继承而来的方法。这个方法的用途

apply():接受两个参数,一个是在其中运行函数的作用域,另一个是参数数组
call():第一个参数是this,剩余的所有值都是直接传递给函数。在使用call()时,传递给函数的参数必须逐个列举出来。

function sum(num1,num2){
  return num1+num2;
}

function callSum(num1,num2){
  return sum.apply(this,argumens); //传入arguments对象
}
function callSum2(num1,num2){
  return sum.apply(this,[num1,num2]);
}
function callSum3(num1,num2){
  return sum.call(this,num1,num2);
}

注意:严格模式下,未指定环境对象而调用函数,则this值不会转型为window。

apply和call可以扩充函数的作用域。

window.color = 'red';
var o = {color:'bule'};
function sayColor(){
  alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
sayColor.call(window); //red
sayColor.call(o);//blue
12:什么是基本包装类型?

为了便于操作基本类型值,ECMAScript还提供了3个特殊的类型:Boolean、Number、String

13:引用类型和基本包装类型有什么区别?

生存周期不同。使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于代码执行的瞬间,然后立即被销毁。这意味我们不能再运行时为基本类型值添加属性和方法。

14:什么是单体内置对象?

内置对象是由ECMAScript实现提供的、不依赖于宿主环境的对象。这些对象在ECMAScript程序执行之前就已经存在了。意思就是说开发人员不必显示的实例化内置对象。因为他们已经实例化了。如:Object 、Array、String。
单体内置对象:Global和Math

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容