JavaScript中的细节

        高山登不上,不是因为体力不支,只因鞋里一粒沙。学习也是如此,因而有必要把JavaScript中常见的和与其它语言不同的那些细节学习一下。

JavaScript区分大小写:在JavaScript中变量、函数都是区分大小写的,例如:

function myfunction(){}和
function myFunction(){}不同
        JavaScript中核心对象Array、Object等也是区分大小写。

单引号和双引号:这个问题在学SQLServer拼接字符串"select * from page where name='lida'"时就有疑惑:后面都的三个'到底是双引号在前还是单引号在前?学的多了知道,双引号是编程语言使用的,单引号是SQLserver标明字符串类型的。但是在JavaScript中单引号和双引号没有特殊的区别,都可以用来创建字符串,但是一般情况下JavaScript使用单引号,HTML等属性值必须使用双引号;同时单引号可以包括双引号,双引号也可以包括单引号 ;特殊情况下需要使用转义符号"\",例如:

var temp='<p class="nameA">What\'s this?';

括号的作用:和其他语言一样,JavaScript中的括号同样是两种作用,一种是当作分隔符使用,例如:(1+1)*2;第二种作用是表达式,例如:(1+1)*2;第二种作用是表达式,例如:(function (){})()中被分开的括号为分隔符,后面的括号表示执行方法。

函数的调用和引用

var temp=myFunction();
var temp=myFunction;
        因为括号可以代表执行,第一个temp代表的是myFunction函数的返回值,而第二个temp代表的是把myFunction赋值给temp。例如:
        <script type="text/javascript">
                // JavaScript Document
                (function () {
                        function $() {
                                alert("正在Buffering!");
                        }
                        window['LD'] = {}
                        window['LD']['$'] = $;
                }
)();
                window.onload = LD.$;
        </script>
        网页可以正常加载,因为这代表把$方法赋值给了window.onload,页面加载运行的是自己编写的$()函数;如果把这句换成window.οnlοad=LD.$();运行结果如下;首先会显示“正在Buffering”,然后是

        这在VS2010的内置浏览器中确会出这个问题,但是在IE中并不出现这个错误,有关愿意可以借鉴评论中给出的参考意见。

换行:无论是用哪种引号创建字符串,中间都不能包含强制换行符。如下:

var temp='<h2 class="nameA">List</h2>
<ol>
</ol>'
        将导致解析错误,可以使用\或+来换行:
var temp='<h2 class="nameA">List</h2>\
<ol>\
</ol>\
';
大括号和分号可选:

        在JavaScript中分号和大括号不是必须的,例如alert('A');和alert('A')没有区别,但是在if语句处运行有差异,最好不要省略。

重载

        JavaScript是基于原型的面向对象,没有如C#中的重载,在此我们可以称之为替换,同名函数无论参数个数是否相同,程序都会执行最后一个同名函数,例如function alert(){}将会覆盖JavaScript中的alert函数。

作用域和闭包

        可以参加我的博客《JavaScript中的作用域链和闭包》。

        千里之行,始于足下。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值