前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
AI 面试
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

OOP之类与对象

首页
2016-12-13 14:55:24
Front-End
JavaScript面向对象

# 对象


# 对象的含义
  • 所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成
# 对象的创建
  • 使用new运算符创建Object
var p = new Object();
p.name = "Tony";    
@前端进阶之旅: 代码已经复制到剪贴板
  • 使用对象字面量的形式
//对象字面量形式
var p ={
    name: "tony",
    work: function(){
        console.log("working....");
    },
    _age: 18,
    get age(){
        return this._age;
    },
    set age(val){
        if( val <0 || val > 150){
            throw new Error("invalid value");
        }else{
            this._age = val;
        }
    }
}
console.log(p.name);
@前端进阶之旅: 代码已经复制到剪贴板
# 对象的基本操作
  • 成员属性的添加
// Object.defineProperty()方法
Object.defineProperty(p, "age",{value: 18, writable: false});
//Object.defineProperties()方法 添加多个属性
Object.defineProperties(p, {
    salary:{
        value: 1000,
        writable: false
    },
    gender:{
        value: true
    }
});
fe
  • 对象
    • 对象的含义
    • 对象的创建
    • 对象的基本操作
    • Constructor属性
  • 类的创建
  • this
    • 全局代码中的this
    • 普通的函数调用
    • 在对象中使用
    • 作为构造函数
    • 多层嵌套的内部函数
    • 事件中的this
    • 使用apply和call改变this的指向
    • bind()

← JS继承的几种方法总结arguments详解 →