js对象构建

作者: 月动我心弦 | 来源:发表于2017-03-14 09:21 被阅读0次

1首先明确一点js不是面向对象的语音,但js具有极大的灵活性可以模拟面向对象,甚至面向过程乃至全世界。

2 js中面向对象的写法

A最为常见的{}形式的写法,var obj = { };大括号里面的内容以键值对的形式存在,值得形式多样可以是字符串,变量,常量,数组,布尔等等,还可以再嵌套对象为值(这种写法结构清晰推荐写法)。

B js本身就是对象这个类型,写法如下var Person = new Object(),用new的方式去写是符合代码逻辑,但是再继续写Person.name ="wuwenzhou",这样的写法就很菜了,代码是写给人看的,偶尔才会给机器运行一下,这样的写法释义性不强(不推荐);

C构造函数的写法var Person = function(){this.name ="wuwenzhou" } ;在用var me = new Person ();去实例化,注意点在JS中用大写开头的写法来模拟类型,小写写法申明实例化对象(推荐写法具有极大优势,在控制台打印时当前对象名就是类名,结构清晰便于代码调试,A,B两种写法在控制台中之后只会显示object释义性差)

D原型扩展方法var Person = function(){};Person.prototype ={say :function(){console.log("wo shiwuwenzhou")}};常用写法会将C,D结合,构造函数申明属性,原型链扩展方法,但是js中其实并不是严谨区分属性和方法的,原型的写法会导致查询深度变深,性能下降,但结构化清晰。

总结日常使用中用{}键值对的形式结构简单,释义明确,架构时用构造函数加原型扩展结构清晰。在对象的写法上有些注意点,obj[pro]和obj.pro都是可以对象的键去获取对应的值,但[]在写法上具有更高的兼容性,点能出的属性[]也能实现,但[]能够里面能写字符串变量而点不能,在对象方法是可以配置的字符串变量属性时注意用[]这是我在项目中感悟之一,也是项目维护的重要原则之一,多配置而少改代码,配置后到js实例化时的方法名比如是"get" +某个属性名,这时候就点就出不来了用[]比较好。

相关文章

  • js对象构建

    1首先明确一点js不是面向对象的语音,但js具有极大的灵活性可以模拟面向对象,甚至面向过程乃至全世界。 2 js中...

  • JavaScript对象

    什么是对象 可以使用两种形式来创建对象: 声明形式和构建形式。 js 数据类型 string number boo...

  • react 虚拟DOM

    是什么: 是 JS 对象 是对真实 DOM 的描述 React 组件的挂载阶段:根据 JSX 构建虚拟 DOM, ...

  • JS 的 new 做了那些事情

    JS中的new运算符,从一个自定义对象类型或者包含constructor构建函数的内建对象类型中实例化一个对象。J...

  • SDK链式Build请求对象

    示例### 按照对象构建顺序返回下一步需要构建的对象,可避免this对象返回的重复构建检测问题。显得构建请求对象更...

  • vite初始化vue3.0项目——配置router和vuex

    安装构建vue-router 安装相关依赖 创建router/index.js文件 创建路由对象并抛出 这里如果一...

  • vite安装构建vue-router和vuex

    安装构建vue-router 安装相关依赖 创建router/index.js文件 创建路由对象并抛出 这里如果一...

  • JS面向对象精要(二)_函数

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(三)_理解对象

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(四)_构造函数和原型对象

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

网友评论

    本文标题:js对象构建

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