JS对象笔记

#编程范式
 
##1、命令式
- 面向过程
- 面向对象(OO,Object-Oriented)

##2、声明式
- DSL:只要预期结果(例如:HTML、css)
- 函数式:没有副作用,可以解决并发问题


#js中对象
- 原生:符合ES(ECMAScript)规范
- 内置:有ES内部提供的
- 宿主:依赖浏览器的对象(BOM)
###类
面向对象的语言一个标志,是具有相同属性和方法的对象的集合,是对象的抽象(对象是类的实例)。

###js中没有类的概念,每个对象都是基于一个原型(原型也是一个对象):
**对象→原型→object→Null**

添加属性和方法在原型链上(对象.prototype可以访问其原型)后面的对象会“继承”你添加的属性和方法

#对象的创建
##对象字面量(语法糖:独特的,不需要重复的)
例子:


        var person={
            name:"张三",
             age:12,
            sayHi:function(){
                alert("我是"+this.name+"你好!!");
            }
        }


像这样创建多个对象时就会显得很麻烦,重复创建!!!

##构造函数(类似与类)+原型
例子:
        
        //声明构造函数
        let Student=function(a(参数)···){
            this.name=a;
            this.sayHi=function(){
                alert("我是"+this.name+"你好!!");
            }
        }
        //创建对象
        let student1=new(重点) Student("三毛");
        
        
        访问原型:
        Student.prototype.sayHi=function(){
                alert("我是"+this.name+"你好!!");
            }
        这样子,以后的对象都会有这个方法!!

##访问对象属性
###.运算符
- 对于(.)运算符来说右侧必须是一个以属性名称命名的简单标识符,标识符必须直接出现在程序里,不是数据类型因此无法修改他们。

        var author=book.author;
        var name=author.name;


###[ ]运算符
- 对于([])运算符来说方括号里必须是一个计算结果为字符串的表达式,这个字符串就是属性名字。字符串是js数据类型,所以在程序运行时可以修改和创建他们。

        var author=book['author'];

        for(let i=0;i<4;i++){
            addr=person[i+"name"];
        }


//for in 可以用于遍历出对象的属性,但是该方法仅仅只会遍历出可枚举属性
由JS核心定义的方法都是不可枚举的,例如toString()。但是代码中定义的属性都是可枚举的(可通过特殊定义为不可枚举的)


        for(let k in person){
                person[k];
        }

转载于:https://www.cnblogs.com/ltwm123/p/7470681.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值