JavaScript——常见的几类JS问题

来源:互联网 发布:ntfs for mac激活不了 编辑:程序博客网 时间:2024/06/16 18:00

背景:

    在学习JS的过程中,我想很多同胞应该曾经和鄙人有同样的感受。“咦!怎么TMD效果没出来呢?也没有个提示!到底TM哪里出错了……!” 然后转半天,对源码看半天,哦,原来是这么回事儿……WK!

常见问题汇总

1、大小写的区分

  这个就不多说了,学过Js的就应该都受过这个苦,比如:getElmentById和getElementByID的区别。后者会报错,undefined。

2、“集结号”

  2.1、单引、双引号:推荐使用单引号。如果Js中有双引号,要使用转移符  \  进行区别。

  2.2、括号:成对的写。特别是花括号。

  2.3、分号:虽然JavaScript中我们可以不用分号结尾,也能被识别,但是为了养成良好的编程习惯,这里咱们要求统一加上分号在句尾。

  2.4、大括号可选:不多解释了

3、函数相关

  3.1、重载:JS中没有重载的概念,只有覆盖,出现同名函数,执行最后的一个。如果自己定义了和系统自带的同名函数,将覆盖系统的核心函数。

  3.2、调用、引用:

<span style="font-family:KaiTi_GB2312;font-size:18px;">Var box= function();//此处为调用,执行了函数后将结果或者返回值赋给boxVar box2 = function;//此处是引用,box2拿到的是一个指针</span>

  3.3、作用域、闭包:

   

<span style="font-family:KaiTi_GB2312;font-size:18px;">function MyFunction (){  var temp = "hello world";}</span>

 以上函数中的temp变量,一旦出了temp之后是无法再访问到的。这就是所谓的作用域

闭包:是指有权访问另一个函数作用域中变量的函数,其常见的创建方式是:在一个函数内部,创建一个函数(这个函数可以是匿名函数),通过这个函数可以访问到包含该函数的函数中的变量。

例如:

<span style="font-family:KaiTi_GB2312;font-size:18px;">function myFunction(){    var temp = "hello world!";    return function(){//定义一个匿名函数        return temp;     }}console.log(myFunction()());//通过匿名函数返回myFunction里面的temp 的值</span>

缺点:污染全局变量,导致应用程序不可预测。使得每个模块都可以调用,这样必将带来灾难。所以,慎用!


4、换行:

  可以使用换行符 “\”,如果是续行编写呢,建议使用 “+”号。虽然直接回车换行也能识别,但是实在不是什么好的编程习惯。

5、先后顺序:

  对于Js的引用的先后顺序会导致一些奇葩的错误。没有任何代码错误。就是出错了。原因就是:Js的执行机制,是一个解释型的编程语言,而且加载的时候有顺序。如果JS文件A中使用了JS文件B中的内容,那么要求,Js 文件B一定要在JS文件A之前进行引用。

6、兼容性问题:

  这个的话,推荐大家一个网站吧。更推荐使用JQuery这样的框架,已经对大部分的浏览器做了兼容了。推荐网站:

 w3c:http://w3help.org/zh-cn/causes/

小结:

  对于Js的学习,看得更多的是细心。正所谓细节决定成败啊。真的是很强大的一门编程语言!同样也是一门很让人抓狂的编程语言!呵呵。爱恨交织啊!

  

1 0