`

2011年11月17日,每天都是这么过的,没有什么新奇。偶尔翻翻旧书,别有新的一片天地。JS我自认为已经掌握到很高深的火候了,但其实不然,我哪只是冰山一角。我一

阅读更多
2011年11月17日,每天都是这么过的,没有什么新奇。偶尔翻翻旧书,别有新的一片天地。JS我自认为已经掌握到很高深的火候了,但其实不然,我哪只是冰山一角。我一般看书看得很快,只是了解到其中的编程思想,然后就忘了。这篇日志算是读后日志吧。
让我进入今天的主题吧。JS我学了好多年了,也用了好多年了。今天回过头来看一下,才发现它是哪么样的博大精深,灵活,精巧。以前好多人都在讨论javascript到底是面向对像,还是基于对像的语言,不过今天我不想讨论这个话,只有大家深入进去,用自己的思维去体会这其中的精髓。JS中存在大量的函数,也许有人见过从头到尾的函数编程,难道你不觉得奇怪吗?我有过,我觉得好难理解,与正常的面向对像编程有很大的不同。好像违备了面向对像编程的思维。正因为它的灵活,有时会很复杂,有时也会很简单,关于在于编程者对它的理解有多深。原来在JS中函数也是被看作为对像的。即函数也是可以被作为参数随时调用的。举个例子:
function class_1(){
};也许很多面向对像的编程人员一看,这不是一个方法吗?就是函数。如果是这样,我还真没有什么好说的。可在这里它也可以这样被调用
var cl=new class_1();可能很多看到这里一下子反应不过来,我当初见到这样,确实转不湾来。这不是一个方法怎么能用创建对像的new 方法创建呢?其实这就是JS的灵活性的体现。它可以理解为面向对像中的类的构造函数。这样还会好一点。我这里讲得有点乱。应该先讲类的申明,对像的定义。对像的创建有无类型对像,主要表现是用{}这种形式定义的。如:

name:"zhangshang",
sex:"xinbie",
fnc:function(){
alert(this.name);
},


看到这个定义有什么感想呢?当然了,这样的定义没有什么任何用处,当这样呢?
var user={
name:"zhangshang",
sex:"xinbei"
fnc:function(){
alert(this.name);
}
}
从这里大家可以看到什么呢?是不是看到了,如果没有里面的fnc:function()的定义,大家不难发现,这是一个一组数值的集合,从这里我们也不难发现JS的对像理念其实就是一组数值对。因此他们的获取也非常简便,哪就用[]这样的方括号进行调用,类似于数组的引用。
如var name=user[name];也许大家又有问题了,里面的属性引用如果用点引用岂不更方便吗?确实是的,var name=user.name;
是的,是可以这样做的,但是如果在遇到这种情况,也许大家会觉得这样用也有它的好处。假如有一个数组:
   var array_a=["name","sex"];
可以这么认为,这个数组记录了,user对像的属性名,哪如何上用这个作索引去访问对像相应的值呢,这时方括号就派上用场了。
如user[array_a[i]],这样就好了。是不是很简单呢,关于这方面的知识,会有很多,也一下子讲不完。今天 到此了,有机会交流的加我QQ:550703900;


0
5
分享到:
评论
2 楼 xaocaotanghui 2011-11-18  
suijiayun 写道
还用了好多年啊

很多年啊
1 楼 suijiayun 2011-11-18  
还用了好多年啊

相关推荐

    一行JS代码实现翻翻卡效果

    在JavaScript开发中,"一行JS代码实现翻翻卡效果"是一种常见的交互设计,它通常用于创建卡片式的用户界面,比如在电商网站上展示商品、学习应用中的卡片式学习内容等。这种效果通过模拟纸片翻转,使得卡片的正面和...

    js 翻翻乐使用js书写的翻番乐初学js有兴趣的可以添加其他功能

    使用js书写的翻番乐初学js有兴趣的可以添加其他功能

    翻翻棋-象棋短兵相接新玩法

    "翻翻棋-象棋短兵相接新玩法"是一款结合了传统象棋元素与创新玩法的游戏软件。这款软件利用了先进的搜索引擎技术,确保了在游戏过程中,智能系统的响应速度和决策能力都达到了较高的水平,为玩家提供了一个既富有...

    JavaScript应用实例-翻翻乐0722优化版.js

    JavaScript应用实例-翻翻乐0722优化版.js

    JavaScript应用实例-Trun(翻翻乐).js

    JavaScript应用实例-Trun(翻翻乐).js

    翻翻乐小游戏

    "翻翻乐小游戏"是一款基于源代码开发的小型游戏,其设计目的是为用户提供轻松娱乐的体验,同时可能包含了学习和实践编程技术的价值。通过“加了时间条和帮助文档”这句话,我们可以推断出游戏增加了时间限制元素,...

    android翻翻看游戏源文件

    在Android平台上,开发一款翻翻看游戏涉及到许多关键的技术点,包括用户界面设计、事件处理、数据存储以及动画效果等。下面将详细讲解这些知识点。 首先,从标题"android翻翻看游戏源文件"我们可以推测,这是一个...

    Android手机小游戏-翻翻乐

    【Android手机小游戏-翻翻乐】是一款针对Android平台开发的休闲益智类游戏,它以其简单易上手的玩法和趣味性吸引了众多玩家。在这个游戏中,玩家需要通过翻开两张相同的卡片来消除它们,最终目标是清除所有卡片。...

    翻翻乐,小游戏,原创

    《翻翻乐:小游戏开发揭秘》 在编程世界中,创新和娱乐性的结合总能吸引人们的注意力。"翻翻乐"就是这样一款小游戏,虽然开发者自称为"不成熟",但其背后的技术实现和创意设计仍然值得我们深入探讨。这款游戏采用的...

    java 3d翻翻乐,共学习用。

    java 3d翻翻乐,共学习用。 一个游戏,java做的,可以直接运行,很好玩。

    java联网翻翻乐

    《Java联网翻翻乐》是一款基于Java开发的联网双人对战游戏,它利用了Java的GUI(图形用户界面)技术来实现全屏的游戏体验,同时结合了AWT(Abstract Window Toolkit)库进行图形绘制,以及IO流进行数据传输。...

    ActionScript3.0翻翻乐游戏

    在这个“ActionScript3.0翻翻乐游戏”项目中,开发者利用ActionScript3.0的强大功能和效率,构建了一个引人入胜的游戏体验。 翻翻乐游戏,也称为对对碰或连连看,是一种广受欢迎的休闲益智游戏。其基本规则是,玩家...

    地方棋, 翻翻棋, 基础规则版

    2. **Vue.js**: Vue.js是一款轻量级的前端JavaScript框架,其核心特性包括数据绑定和组件化。在这个地方棋游戏中,Vue负责处理用户交互和棋局逻辑。通过Vue的数据模型,我们可以轻松地更新棋盘状态,同时使用指令...

    翻翻棋1.0

    "翻翻棋1.0"是一款适合各年龄段玩家的益智游戏,它的设计融合了传统的象棋元素与独特的翻牌机制,为玩家带来别具一格的智力挑战。这款软件的核心在于其内置的先进电脑智能搜索引擎,这是一项关键的技术亮点。 在...

    大鱼小牛翻翻看游戏逻辑

    阳光普照,使谷物成熟,使果木结果,它自己并不认为向人类施于了什么;甘霖湿润干涸的大地,使河水川流不息,使大海永不枯竭,但甘霖也不会认为向人类施于了什么。 世上万物中,唯有人会有自己曾施恩于人的念头。

    安卓Android源码——翻翻乐--抢答--转盘.zip

    在本压缩包“安卓Android源码——翻翻乐--抢答--转盘.zip”中,包含了一个名为“SMI-Interactive-Game”的项目,这显然是一款针对安卓平台开发的互动游戏应用。游戏集成了翻翻乐、抢答和转盘等经典游戏元素,非常...

    基于web的游戏开心翻翻乐四则运算

    本设计完成的是一个基于web的游戏——开心翻翻乐,用以帮助小学生练习100以内的四则运算,即加、减、乘、除运算。本系统从学生和教师两大群体出发,实现了一种基于web的小学数学四则运算游戏系统,本系统具有随机出题...

    Android代码-翻翻乐--抢答--转盘.rar

    【标题】"Android代码-翻翻乐--抢答--转盘.rar" 提供的是一个基于Android平台的游戏开发示例,其中包含了“翻翻乐”、“抢答”和“转盘”这三个游戏元素。这个项目可能是为了展示Android应用中常见的游戏机制和互动...

    ios游戏翻翻看

    《iOS游戏:翻翻看——探索移动平台的趣味记忆挑战》 在当今的移动设备上,游戏已经成为一种不可或缺的娱乐方式,尤其是对于iOS用户来说。其中,“翻翻看”(Overturn)是一款深受大众喜爱的经典游戏,它以其简单...

    字牌翻翻看HTML5游戏源码

    游戏的核心在于观察、记忆和逻辑分析,对提升玩家的记忆力和反应速度有一定的帮助。 HTML5是现代Web开发的标准之一,它在原有的HTML基础上增加了许多新特性,如离线存储、拖放功能、媒体元素、Canvas画布、SVG矢量...

Global site tag (gtag.js) - Google Analytics