Javascript犀牛书 随笔(一)
2018-08-02 06:22:04来源:博客园 阅读 ()
阳光灿烂的一天,我背了一个小包,正打算去商场逛街,悠哉悠哉的走在路上。一只黑色的野猫跑了过去,我捏造了一个泡泡 var bubble={ }去敲打它的尾巴,它回头看了一眼我,金色的瞳孔里倒映着一串url,我又吹起一个var bubble={"mainurl":"www.treehole.com",'suburl':"come and prove yourself"}, mainurl字段正是猫眼中的光影所示,又该去会会老朋友了,我点击了这个入口的参数,瞬间头晕目眩,身体像是被撕裂了一般。
四周一片漆黑,“好久不见,还是那么菜啊”,远处传来一声,我抬头一看,原来是JS先生。
J:怎么,new关键字用着不喜欢?好一个大周末,敲门偏要用对象直接量,你的泡泡不会吓着我的猫啊?
M:怪我咯,var a=new Object(); 这种语法太常见了,年轻人不能够这么无聊,要不然社会怎么进步呢。
J:好大的口气,臭小子你给我谦虚着点,告诉你,现在江湖上出了一个Object.create()方法,传参为null的话产生的对象连像toString那样的基础方法都没有。
M:骇,怕什么,传参为Object.prototype不就行了。这个函数的本质就是:通过任意原型创造新对象,使任何对象可继承。我早已看破,不怕不怕咯。
J:呦,一般这么自信,就是又欠练了,拿IDE过来,给我写个函数:要求是通过原型继承创建一个新对象。
M:就用刚才的Object.create()方法啊
J:那是新特性啊大哥,ECMAScript5出来3就不活了?周全考虑一下好吗
M:哦 那你等下
function inherent(p){
if(p == null) throw TypeError();
if(Object.create) return Object.create(p);//先判断一下Object.create方法是否存在
var t=typeof p;
if(t!=="object" && t!=="function") throw TypeError();//检查一下类型
function f(){};
f.prototype=p;
return new f();
}
M:不知师父还满意?
J: 嗯,最后三行还算可圈可点
M:(偷笑),不是我写的好,是师父家的犀牛养的好,它怎么叫,我就怎么写呗。(随后解析这个函数)
J:那好,我问你小子,属性的两种访问方法?
M:o.pro o["pro"] 如果属性名刚好是关键字的名字,那么很不幸,只有第二种方法可以成功
JS心里暗想,上道了上道了,马上就要掉坑里去了,又发问:第二种的学名是?
M:什么学名,我只知道你们家的那些对象宝宝都关联着数组,可以通过字符串索引
J:哈 才疏学浅了吧 来来来 小板凳呢 老夫给你们码一码。咱们家就是弱类型语言,不像那个c啊,c++啊,java啊,特别灵活,你想给对象添加一个属性的时候,不用在定义处说死,程序写到哪里加就ok了。
M学生看师父说的高兴,又问:老头儿,那你刚才问我第二种的学名是什么意思?
J:哦,学名你猜啊。我觉得第二种方法好是因为它的访问方式是字符串,还是两个字,灵活啊,这样我写程序的时候是可以做手脚的啊,比如
var addr=""
var customer={"address0":"haha","address1":"hoho","address2":"bobo"};
for(var i=0;i<4;i++)
{
addr+=customer["address"+i]+"\n";
}
M: 拿起手机疯狂百度,然后说作为关联。。关联数组的对象!名字是作为关联数组的对象!
J: 小孩抽抽啥呢,大哥告诉你,不仅可以这么写,还可以让[]内的字符串以参数的形式动态的出现呢,怎么样,是不是强过某点访问方法一百倍?
M:以参数的形式?这不禁让我想起了for in语句。 in之前的变量打印出来是属性名。
J: 天色不早了,回去好好改改你的泡泡,下次厉害点来见我
M:不不不,我还是在这吃完晚饭再走吧 : )
J:...... : (
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript面向对象入门基础详细介绍 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- 如何用javascript连接access数据库 2020-03-20
- js中去掉字串左右空格 2020-03-20
- Javascript中的经典技巧 2020-03-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash