牛客笔记

javaScript 共有5种基本数据类型:Null,Undefined,String,Number,Boolean

1.下面代码的执行结果:

'''

var arr = [];

arr[0] = 0;

arr[1] = 1;

arr.foo = "v";

alert(arr.length);  //结果为2

'''

解析:1.数组也是对象;2.对象不能用length返回其拥有的属性数量

arr.length,对arr对象的length属性进行一个访问

arr.foo = 'hello' 对arr对象创建一个属性,所以.foo 跟.length地位是并列的:就是arr的一个属性,同时arr的数组方法跟这些属性是毫不相关的


2.

'''

var color  = 'green';

var test4399 = {

color:'blue',

getColor:function(){

var color ='red';

alert(this.color);

   }

}

var getColor = test4399.getColor;//即var getColor = function(){var color = "red";alert(this.color);};

getColor();          //执行getColor()函数时this指向的window,因为window.color为green,所以弹出green

test4399.getColor();//此时this指向的是test4399,test4399.color为blue,所以弹出blue

'''

结果:green , blue

getColor();相当于普通的函数调用,此时this指向window,this.color应该为全局变量的值

test4399.getColor();此时this指向调用函数的对象test4399,因此this.color应该为对象的属性值

知识点一:  js函数调用时加括号和不加括号的区别.不加括号相当于把函数代码赋给等号左边,加括号是把函数返回值赋给等号左边。

知识点二:  js中this的用法,this总是指向调用它的对象,倒数第二行的getColor为windows调用的,倒数第一行的getColor是test4399对象调用的


3.执行如下程序:

'''

var x=0;

switch(++x) {

    case0: ++x;

    case1: ++x;

    case2: ++x;      //没有break,结果为3.

}

'''

4.

var obj = {};

obj.log= console.log;

obj.log.call(console,this);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,143评论 1 10
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,879评论 0 6
  • ECMAScript关键字 delete do else finally function in instance...
    doudou2阅读 736评论 0 0
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,964评论 2 17