日期:2014-05-16  浏览次数:20407 次

javascript的那些事儿你都懂了吗

原文地址:javascript的那些事儿你都懂了吗

?

 javascript从开始的验证表单的脚本语言发展到现在能运行在服务器上,其影响力不断的提升。自己作为一个做前端的,编写js是必不可少,从自己学习js的历程来看其实也是比较吃力。要?学好它,还是的花费一些精力。下面来说说我学习到的一些js特性吧。

1.对象的属性名使用引号的疑惑

  当我们在申明一个对象字面量的时候,经常看到对象的属性名有的有引号,有的没有,那时候我就是觉得非常困惑,它们之间有什么区别呢?这个我困惑很久了。后来,在一本书上不经意的?看到了关于对象的属性名有无引号的解释。

 1.1 当对象的属性名是合法的标识符且不是保留字时,是不需要使用引号的,当然使用也没有问题,只不过是多此一举而已。

var object = {
    first_name: 'javascript',
    city: 'shenzhen'
}

 1.2?当你的对象属性名包含不合法的标识符或是保留字的话,就必须使用引号。

var object = {
    'first-name': 'javascript',
    //first-name: 'javascript', 不合法包含-
    city: 'shenzhen'
}

2.对象的检索

  大家都是知道,要检索对象里的包含值,有两种方式,一采用xxx['xxx'],二采用.表示法。我不知道大家看到这两个检索方法,你有何看法,你知道其中的差异没有。

  2.1?如果字符串表达式是一个字符串字面量,而且它是一个合法的javascript标识符且不是保留字,建议使用"."表示法代替,因为它更加紧凑且可读性更好。

var object = {
    first_name: 'javascript',
    city: 'shenzhen'
}
console.log(object.first_name);  // '.'表示法

  2.2?当然xxx['xxx']也是有其优势的,例如检索的对象的属性名不是合法的或是保留字,它就是派上用场。