重要的几点疑问

来源:互联网 发布:淘宝家居花瓶销售方案 编辑:程序博客网 时间:2024/04/29 02:01

关于this:

1.函数对象的属性一定要用this.username=XXX这样么?用var来声明是不是他的属性。对,就是要用this,因为用var声明的变量是局部变量。
注意:只有new的时候this才是有意义的,否则this他什么也不是。
如function Parent(username){this.username=username},那么如果这样调用:Parent(username)则这个this是没什么意义的。var object = new Object();
  //alert(object.username);
prototype是定义在Object的,所以每一个对象都会有这个属性。给对象的原型赋上属性值,就说这个原型所处的对象也就拥有了这个属性。

  object["username"] = "shengsiyuan";

  object.sayHello=function (username){

      this.username=username;//这个this指的是什么呢?指的是引用它的那个对象,在这里就是object

      alert(this.username);

  }

关于prototype

 

关于new与不new时用typeof所返回的东西类型

 除了基本的类型之外,还有new Function之外,其他的都会弹出object 

typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

new Function("XX","XX")的会返回一个function

var s="123"或var s=new String("123');但是类型的话前面的s是string类型,是原始的类型,后面的是object类型,是对象类型.除原始类型之外的都会返回object,注意都是小写的

又如:

var b=true;
   alert(typeof b);此时会弹出boolean

如果var b=new Boolean("true");则是会弹出object的

 

数据类型:

JavaScript中有五种原始数据类型:Undefined、Null、Boolean、Number以及String。

Undefined数据类型的值只有一个:undefined。
Null数据类型的值只有一个:null。
 Boolean数据类型的值有两个:true和false。
 JavaScript中没有char数据类型。

在JavaScript中,如果函数没有声明返回值,那么会返回undefined。?

null与undefined的关系:undefined实际上是从null派生出来的。

强制类型转换:在JavaScript中有3种强制类型转换:Boolean(value),Number(value),String(value)。

原创粉丝点击