编程之禅-javascript对象(一)

禅的意境

禅,是需要自己去感悟的,真正要领悟javascript技术的真谛,达到悟透的境界是很不容易的

编程之禅是一种境界,要放下心态,学会放下争执,放下狭隘的观点。以乐观和包容的心态对待一切,才能获得思想上的自由,编程之禅就是要快乐地编程,放下技术的本身,这样才能获得和创造一些新的思路和灵感。

引子

数据和代码的纠葛

编程的世界只存在两个基本元素:一个是代码,一个是数据

数据天生是文静的,总想保持自己的固有本色,但是代码确是活泼的,总想着改变世界。

代码在改变数据的同时,也会因为数据的抗拒反而影响或者改变着代码原有的趋势

就是在数据和代码这种矛盾又统一的运转中,总体现着计算机世界的规律,而这种规律就是我们编写的程序逻辑

正文

javascript的数据很简单,只有null,undefined,boolean,string,number,复杂的数据只有一种,就是object
就像中国朴素唯物主义 将世界的元素分为金木水火土
只有一种体现形式 是function

var life = {}
for(life.age=1; life.age<=3; life.age++){
switch(life.age){
case 1:
life.body=‘卵细胞‘;
life.say = function(){ alert(this.age + this.body) }
break
case 2:
life.tail = ‘尾巴‘;
life.gill = ‘鳃‘;
life.body = ‘蝌蚪‘;
life.say = function(){alert(this.age + this.body + ‘-‘+ this.tail + this.gill)}
break
case 3:
delete life.tail;
delete life.gail;
life.lung = ‘肺‘;
life.legs = ‘四条腿‘;
life.body = ‘青蛙‘;
life.say = function(){alert(this.age + this.body + ‘-‘ + this.lung + this.legs)}
break
}
life.say()
}

小蝌蚪找妈妈,那我们还需要类吗? 类从无到有,又消失与无形之中,与对象融为一体,正是由于放下了类这个概念,javascript才有了更多的活力
如果你有所感悟的话,就说明你已经逐渐理解javascript的禅机了



编程之禅-javascript对象(一)

时间: 2024-11-03 09:36:34

编程之禅-javascript对象(一)的相关文章

JavaScript之jQuery-1 jQuery概述、jQuery的编程步骤、jQuery对象

一.jQuery 概述 JavaScript 类库 - JavaScript 类库的出现,是为了简化 JavaScript 的开发 - JavaScript 类库封装了预定义的对象和实用的函数,可以帮助开发人员来建立有高难度交互的 Web 2.0 特性的丰富客户端页面,并且兼容各大浏览器 - JavaScript 类库可以简称为JS库 - 目前比较流行的JavaScript 类库有: - jQuery - Mootools - Prototype - Dojo jQuery 概述 - jQuer

JavaScript对象之关联数组

Tip: 内容摘抄自<JavaScript权威指南>,看过该书的同学可以忽略本文. 存取一个对象的属性的方式: obj.attr; obj["attr"]; 两者最重要的区别就是前者的属性名是标示符,后者的属性名是一个字符串. 用"."运算符来存取一个对象的属性时,属性名是标示符,JavaScript程序中,标示符必须被逐字输入,它们不是一种数据类型,因此程序不能对他们进行操作. 用数组的概念"[]"来存取一个对象的属性时,属性名是用

深入JavaScript对象创建的细节

最近深入学习javascript后,有个体会:面向对象的方式编程才是高效灵活的编程,也是现在唯一可以让代码更加健壮的编程方式.如果我们抛开那些玄乎的抽象出类等等思想,我自己对面向对象的从写程序的角度理解就是:复用和封装.复用具体就是让你尽量少写重复代码,封装就是将一些耦合度很高的逻辑放到一个程序块里,而且尽量让里面内容不受外界影响.最后的结论是:优秀的javascript代码都是面向对象的.定州市科技工业局 如何构建javascript对象?ECMA-262对对象的定义是:无序属性的集合,其属性

深入学习JavaScript对象

JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值.而属性名可以是包含空字符串在内的任意字符串.JavaScript对象也可以称作一种数据结构,正如我们经常听说的“散列(hash)”.“散列表(hashtable)”.“字典(dictionary)”.“关联数组(associative array)”

JavaScript 对象深入学习总结

JavaScript 对象深入学习总结(1) http://developer.51cto.com/art/201509/492640.htm 2015-09-29 09:27 clearbug 字号:T | T JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? AD: JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不

JavaScript大杂烩5 - JavaScript对象的若干问题

1. 类型检查:instanceof与typeof 这是两个相似的操作符,instanceof用于检测函数的实例类型,主要是在面向对象编程中检查new出来的对象类型,需要注意instanceof是检查function对象的,前面实现的复制继承中的例子就不适用于使用instanceof来检查继承关系了.typeof,它用于检测变量的类型,在实际情况中应用的不是很多,稍微了解一下就可以了. 在使用typeof之前,有一点需要确认,那就是string与String不是同一个类型,这个不用多说了,我们前

JavaScript大杂烩4 - 理解JavaScript对象的继承机制

面向对象之继承 JavaScript是单根的面向对象语言,它只有单一的根Object,所有的其他对象都是直接或者间接的从Object对象继承(没有指定父类的对象,都被认为是从Object继承的). 在前面我们讨论了面向对象的封装性,在最后的地方也谈到了JavaScript的继承是通过原型和原型链实现的,下面我们就详细的展开这个问题:JavaScript到底是如何实现继承的? 继承的本质 继承的本质是重用,从语法上来讲,继承就是"D是B"的描述,其中B是基类,描述共性,D是子类,描述特性

JavaScript 编程珠玑 - 《JavaScript: The good parts》总结(1)

<JavaScript: The Good Parts>,解释了JavaScript编程的精髓.理解本书能够解释我们实际编程中遇到的很多问题,并且有助于写出高质量的代码.这里总结了一下要点,其主要内容涉及到JavaScript特殊的语法,理解Prototype,正确解析this的指代,函数对象的使用,闭包的使用等. 1. JavaScript 语法和对象的特别之处 1) 两种获取对象属性值的方法:[] 或.       stooge['first-name']       stooge.nic

Javascript编程模式(JavaScript Programming Patterns)Part 1.

JavaScript 为网站添加状态,这些状态可能是校验或者更复杂的行为像拖拽终止功能或者是异步的请求webserver (aka Ajax). 在过去的那些年里, JavaScript libraries变得越来越流行. 如果你面对着很多的工作计划,一个很明确的道理就是在网站变得越来越复杂的情况下每次修改‘轮子“肯定让你不爽.当然我们把类库放到一边,聚焦于 JavaScript的语法,对你最有价值的东西是在你编写 JavaScript你要明确你使用的是那种”编程模式“. 下面主要介绍几个jav