var a= function (){var bb = 12; this.aa ="xxx"};
a.aa="www";
a.prototype.cc="eee";
var b = new a;
for (var i in b){
console.log(b[i]);
}
console.log (b)
console.log(b.aa)
console.log(b.bb)

  

xxx 
eee 
a {aa: "xxx", cc: "eee"} 
xxx
undefined

 总结,构造函数,传递给实例的是this和prototype定义,其他自身的定义的变量,没用传递给实例
 
var a= function (){var bb = 12; this.aa ="xxx"};
a.aa="www";
 a.prototype = "eee";//1 或者“ss” new Number(1111) function(){this.cc="ddd"};
;

  如果将prototype 不赋值为object,而是赋值为原始值,prototype不会传递给实例

xxx 
a {aa: "xxx"} 
xxx 
undefined

var a= function (){var bb = 12; this.aa ="xxx"};
a.aa="www";
a.prototype = new Number(1111);
var b = new a;
for (var i in b){
console.log(b[i]);
}
console.log (b)
console.log(b.aa)
console.log(b.bb)  

xxx 
a {aa: "xxx"} 
xxx 
undefined

	var a= function (){var bb = 12; this.aa ="xxx"};
a.aa="www";
a.prototype = new String("11111");
var b = new a;
for (var i in b){
console.log(b[i]);
}
console.log (b)
console.log(b.aa)
console.log(b.bb)

  

xxx 
5undefined 
a {aa: "xxx", 0: "1", 1: "1", 2: "1", 3: "1", 4: "1"} 
xxx 
undefined

new String,相当于使用数组对象存储的,但是遍历不出来值。

var a= function (){var bb = 12; this.aa ="xxx"};
a.aa="www";
a.prototype = [1,2];
var b = new a;
for (var i in b){
console.log(b[i]);
}
console.log (b)
console.log(b.aa)
console.log(b.bb)

  

xxx 


[aa: "xxx", 0: 1, 1: 2] 
xxx 
undefined

prototype就是{},实例化的对象,key value形式的,其他的都不行,不做传递。

var a=[1,2,3];
for(var i in a){
console.log(typeof i);
console.log(a[i]); }

  

string 

string 

string

3

数组的下标和对象一样,都是stirng

 var a=[1,2,3];
for(var i in a){
console.log(typeof i);
console.log(a[i]); }
var b={0:a,1:b}
console.log(b[0])
console.log(b[1])

  

string 

string 

string 

[1, 2, 3]

undefined

这就是数组的基本方式,

在对象中,如果是数组方式当key,不能使用b.1或者b."1",会报语法错误,跟array保持一致了

b[0]===b["0"] 为ture

总结:

只有this,prototype的值传递给实例,其中prototype必须是key-value的形式才传递,就是实例化后的,

数组和object的关系就是都一致的。

关于构造函数什么值传递给他的实例,只有this和prototype的更多相关文章

  1. new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

    new运算符 - JavaScript | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operator ...

  2. python接口测试:如何将A接口的返回值传递给B接口

    在编写接口测试脚本时,要考虑一个问题:参数值从哪里获取 一种方式是可以通过数据库来获取,但是通过这次接口测试,我发现读取数据库有一个缺点:速度慢 可能和我的sql写法有关,有些sql加的约束条件比较少 ...

  3. art.dialog.art 中,将子页面窗口中的值传递给父框架中

    artDialog.open.origin.document.getElementById('父元素ID').value=document.getElementById('子页面元素ID').valu ...

  4. Postman----登录接口返回的reponse中token值传递给其他接口的一个简单接口测试示例

    注: 在进行接口测试时,我们都需要使用登录,并且其他的接口都要在登录后进行,那么必不可少的会使用到将登录接口的reponse返回结果中的某些参数值需要进行返回,并传递给其他接口,这样才可以进行登录后的 ...

  5. Net设计模式实例之原型模式( Prototype Pattern)

    一.原型模式简介(Brief Introduction) 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. Specify the kin ...

  6. Spring 学习指南 第三章 bean的配置 (未完结)

    第三章 bean 的配置 ​ 在本章中,我们将介绍以下内容: bean 定义的继承: 如何解决 bean 类的构造函数的参数: 如何配置原始类型 (如 int .float 等) .集合类型(如 ja ...

  7. JS学习:第一周——NO.3面向对象

    [面向对象基础知识] 封装:对于功能相同的代码,我们只需封装一次,以后再遇到类似的功能,只需调用即可,无需重写,避免大量冗余代码. 对象的特征:方法和属性: 面向对象的特点: 封装:低耦合高内聚: 继 ...

  8. js 中的原型prototype

    每次创建新函数,就会根据规则为该函数创建一个 prototype 属性,该属性是一个指向函数原型对象的指针.并且原型对象都默认拥有一个 constructor 属性,该属性是一个指向那个新建函数的指针 ...

  9. 进击JavaScript核心 --- (3)面向对象

    JS中的对象定义为:无序属性的结合,其属性可以包含基本值.对象或者函数   1.定义对象的方式   (1).Object构造函数 var student = new Object(); student ...

随机推荐

  1. UVa 1218 Perfect Service 完美的服务

    ***状态设计值得一看dp[u][0]表示u是服务器(以下v均指任意u的子结点,son指u的所有子结点)ap[u][0]=sum{dp[v][1]}+1//错误,服务器是可以和其他服务器相邻的dp[u ...

  2. SPRING-BOOT系列之SpringBoot的诞生及其和微服务的关系

    转载自 : https://www.cnblogs.com/ityouknow/p/9034377.html 微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法 ...

  3. 当document.write 遇到外联script

    先来看个例子: <!DOCTYPE html> <html> <head> <title>测试 document.write</title> ...

  4. hadoop-0.20.2伪分布式安装简记

    1.准备环境 虚拟机(redhat enterprise linux 6.5) jdk-8u92-linux-x64.tar.gz hadoop-0.20.2.tar.gz 2.关闭虚拟机的防火墙,s ...

  5. PoolManager插件(转载)

    http://www.xuanyusong.com/archives/2974 前几天我在博客里面分享了为什么Unity实例化很慢的原因,并且也分享了一个缓存池的工具.有朋友给我留言说PoolMana ...

  6. P2629 好消息,坏消息

    题目描述 uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一旦老板 ...

  7. 拦截@RequestBody的请求数据

    要拦截首先想到的是拦截器,@RequestBody只能以流的方式读取,流被读过一次后,就不在存在了,会导致会续无法处理,因此不能直接读流 为了解决这个问题,思路如下: 1.读取流前先把流保存一下 2. ...

  8. hihocoder offer收割编程练习赛8 C 数组分拆

    思路:(引自bfsoyc的回答:http://hihocoder.com/discuss/question/4160) 动态规划.状态dp[i]表示 前i个数的合法的方案数,转移是 dp[i] = s ...

  9. JAVA解析XML的几种方法

    DOM DOM Document Object Model 文档对象模型.在应用程序中,基于DOM的解析器将一个XML文档转换成一个对象模型的集合(DOM树),应用程序正是通过对这个对象模型的操作,来 ...

  10. Android利用已有控件实现自定义控件

    Android控件的基本介绍及使用自定义控件的意义         Android 本身提供了很多控件,自定义控件在android中被广泛运用,自定义控件给了我们很大的方便.比如说,一个视图为imag ...