javaScript对象

引言

描述一个杯子:

var bottle = {
      name : 'bottle',
      price: 49;
      isKeepWarm: true
};

一堆杯子

function createBorttle(name, price,isKeepWarm){
        return{
                name:name,
                price: price;
                isKeepWarm: isKeepWarm
        }
}
var bottle = createBottle('太空杯',49,false);

一堆杯子称为工厂模式,但是有一个 问题,调用生成bottle,那么怎样证明创建的杯子是一个bottle?这就需要摸索创建对象的方式,先讲一下函数

函数

函数作为对象有它自己的属性:name,length,prototype
function createBottle(){
//内部有argument this
}
方法:bind(),call(),apply();

argument //储存了参数列表,是一个对象、类数组、length属性
不要滥用,影响代码的可读性
非常适合动态参数的场景

this 执行环境:前端代码chrom,
全局作用域 window
对象的方法 方法

函数的方法:改变this指向
apply传参是一个数组,call传参一个一个传。

函数的属性:
name: 函数名
length: 形参个数(声明时就确定了)
prototype: 函数的一个原型属性,这个属性是一个指针,指向一个对象,。

函数是一等公民 First Class
数据类型分为: First Class 可以作为函数的参数和返回值,也可以赋给变量
Second Class 可以作为函数的参数,但不能从函数返回,也不能赋给变量
Third Class 不能作为函数的参数

闭包:一个普通的概念

‘闭包是指由权访问另一个函数作用域中的变量的函数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容