美文网首页
构造函数及其包装类

构造函数及其包装类

作者: 浮巷旧人 | 来源:发表于2018-08-01 21:06 被阅读0次

对象

  • 对象的创建方法
    1.var obj = {} plainobject 对象字面量/对象直接量
    2.构造函数
    1)系统自带的构造函数 Object()
    2)自定义
    var obj = new object();执行一次生产一个对象 而
    且每次生产的对象都是一模一样的 但是且相互独
    立的
    var obj = {};与上面的表达式一样
  • 大驼峰命名规则 但凡是个单词 首字母就得大写
    TheFirstName 小驼峰是就首字母不用大写 剩下

都得大写

function Car(color) {
        this.color = color;
        this.name = "BMW";
        this.height = "1400";
        this.lang =  "4900";
        this.weight = 1000;
        this.health = 100;
        this.run = function () {
          this.health --;
        }
 }
var  car = new  Car('red');通过参数来改变函数 发
生自定义环节
 var  car1 = new Car('green');
 car.name = "Maserati";
 car1.name = " Merz";两个name互不影响
function Student (name,age,sex){
      //var this = {name : ""   age:"" };
     this.name = name;
     this.age = age;
     this.sex = sex;
     this.grade = 2017;
      //return this;
  }
 var  student = new Student ('zhangsan',  18,  'male');
console.log(new Student ('zhangsan',  18,  'male').name);
  • 构造函数内部原理
    1.在函数体最前面隐式的加上this = {}
    2.执行 this.xxx = xxx;
    3.隐式的返回this
    只有存在new的情况下才会发生以上三步,否则就是正常函数执行

    //包装类
    var num = 4 ;
    num.len = 3;
    //new Number(4).len = 3; delete
    //
    //new Number(4).len
    console.log(num.len);=>underfined

    var str = "abcd";
    str.length = 2;
    //new String('abcd').length = 2; delete
    //new String('abcd').length
    console.log(str.length)=>4
    原始值是不能操作属性的 但是str本身就有length这个属性 而num没有length这个属性

    var str = "abc";
    str += 1;
    var test = typeof(str);//test == "string"
    if(test.length == 6) {
    test.sign = "typeof的返回结果可能为String“;
    }//new String(test).sign = 'xxx';
    //new String(test).sign
    console.log(test.sign);=>underfined
  • 包装类的一些问题
var str = "abc";
/new String('abc').length
console.log(str.length)    ->3
正常来讲原始值str是没有属性的,但是程序为了
不报错,隐式的进行了一个操作,于是构造了一个
字符串对象的构造函数new String( ),然后将内
容‘abc’放在里面,把这个对象进行 . length操作,这
个过程就是包装类(主要是原始值没有属性和方
法,但是生成得对象可以有属性)
var num = 123;
num.abc  =  “abc”
/new Number(num).abc  =  'abc';    ->delete(为了
不让它报错 执行完就删除了)
/两个长得一样,彼此独立,上面那个已经被销毁
了,下面那个是重新建立得
/new Number(num).abc 
console.log(num.abc)    ->underfined

相关文章

  • 构造函数及其包装类

    对象 对象的创建方法1.var obj = {} plainobject 对象字面量/对象直接量2.构造函数...

  • Kotlin带参数的单例

    单例包装类 使用如下 无参构造函数的单例模式

  • Kotlin学习笔记——基础语法篇之类和对象

    类的构造 Kotlin类的写法 Kotlin类的构造函数分为主构造函数和二级构造函数 主构造函数的特点——函数名为...

  • 构造函数

    构造函数 构造函数的数组的应用 类中包含类,并且给类传参 析构函数(逆构造函数):每个构造函数都析构函数,谁最先构...

  • C++ 从入门到放弃 (Day-07)

    父类的构造函数 ◼ 子类的构造函数默认会调用父类的无参构造函数◼ 如果子类的构造函数显式地调用了父类的有参构造函数...

  • 构造函数 Kotlin的类包括1个主构造函数和多个次构造函数。 主构造函数 其中主构造函数会紧跟类名进行声明。 声...

  • C# 构造函数总结

    构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数。 实例构造函数 1、构造函数的名字与类名相同。 ...

  • C++学习笔记四

    类继承 1. 派生类 派生类构造 派生类构造函数必须使用基类构造函数 基类应在进入派生类构造函数之前被创建, C+...

  • 类和继承

    类 Kotlin 中使用 关键字 Class 声明类 构造函数 Kotlin 中类可以有主构造函数 和 次构造函数...

  • Dart类(构造函数、单例)

    Dart类(构造函数、单例) 构造函数 构造函数类型 默认构造函数类里面没有显示写构造函数,默认是一个隐式的无参构...

网友评论

      本文标题:构造函数及其包装类

      本文链接:https://www.haomeiwen.com/subject/fmqdvftx.html