博客

  • 45个超实用的JavaScript技巧及最佳实践

    js45

    大家都知道,全世界来说JavaScript是超流行的编程语言之一,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如 PhoneGap或Appcelerator),甚至是服务端应用,比如NodeJS、Wakanda以及其它实现。此外,许多开发者都会把 JavaScript选为入门语言,使用它来做一些基本的弹出窗口等。

    在本篇文章中,我们将会向大家分享JavaScript开发中的小技巧、最佳实践和实用内容,不管你是前端开发者还是服务端开发者,都应该来看看这些编程的技巧总结,绝对会让你受益匪浅的。

    文中所提供的代码片段都已经过最新版的Chrome 30测试,该浏览器使用V8 JavaScript引擎(V8 3.20.17.15)。

    http://www.gbtags.com/gb/share/2661.htm

  • 在javascript中数组、对象、函数都收默认引用赋值

    在javascript中数组、对象、函数都收默认引用赋值,例如:

    [code]var a={age:3,h:175};  //对象

    var b=a;

    b.age=4;[/code]

    a.age输出结果是4;

    也就是说在javascript中数组、对象、函数中如果类似a赋值给了b,改变b的值就等于改变了a的值,因为他们共同指向了同一个内存值。

  • JavaScript isNaN()是什么

    JavaScript中的isNaN()检查某个值是不是数字,如果不是数字就满足isNaN()返回的是真。

    isNaN()想要获取的是那些不是数字的值。

    [code]function myFunction()
    {
    var x=document.getElementById(“demo”).value;
    if(x==””||isNaN(x))
    {
    alert(“Not Numeric”);
    }
    }[/code]

    例子:

    [code]<script>

    document.write(isNaN(123));
    document.write(isNaN(-1.23));
    document.write(isNaN(5-2));
    document.write(isNaN(0));
    document.write(isNaN(“Hello”));
    document.write(isNaN(“2005/12/12”));

    </script>[/code]
    输出结果:

    [code]false
    false
    false
    false
    true
    true[/code]

  • JavaScript match()是什么

    JavaScript中的match()是负责检查搜索元素某个属性的某个值是否存在,W3C是这么定义的。

    定义和用法
    match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
    该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

    [code]function changeImage()
    {
    element=document.getElementById(‘myimage’)
    if (element.src.match(“bulbon”))
    {
    element.src=”/i/eg_bulboff.gif”;
    }
    else
    {
    element.src=”/i/eg_bulbon.gif”;
    }
    }
    </script>

    <img id=”myimage” onclick=”changeImage()” src=”/i/eg_bulboff.gif”>[/code]

    记住match()是用来检索值是否存在,并不能进行设置。

  • 解决WordPress的RSS输出错误问题

    “RSS错误:WP HTTP Error”
    使用WordPress架站,本身有提供RSS自动输出功能,透过它可以让访客订阅网站最新文章,随时追踪网站最新动态。但有时我们可能装个外挂、调整一下网站布景主题或是做了小微调,结果造成网站RSS输出的错误,通常遇到这样的错误都不知从何解决?像香肠之前遇到了这样的状况,一度以为是外挂相冲,可是找了半天却无收获。

    后来改查文章中是否有语法跟RSS相冲,造成输出错误,可是也没找到问题,后来逐渐转向WordPress布景主题,查看布景主题是否有出错,首先检查编码问题,接着查每一个档案内是否有错误的语法或是有含BOM,不过都无斩获。后来,无意间在functions.php这只档案内发现问题,结尾端因为有空行,所以造成RSS的输出出错。
    其实RSS要找错误真的是不容易,一般来讲我会先透过Feed Validator对自己网站的RSS先进行基本的检测动作,看看分析后是哪边出问题,通常这边的分析是针对输出的内容,所以标记有错误的地方通常是内文区域,但如果你将内文全部改成存文字,检测后还是出问题,那不得不从网站的原始档案开始查起了。

    我遇到的错误讯息是:
    [code]This page contains the following errors:

    error on line 2 at column 6: XML declaration allowed only at the start of the document

    Below is a rendering of the page up to the first error.[/code]
    feed_error
    一、检查wp-config.php
    WordPress的RSS输出有时候会出错,原因可能出在于系统设定档案「wp-config.php」,编码的问题、档首有BOM标签问题都可能让RSS输出错误。所以就先来检查一下档案吧!更改编码以及BOM标签可透过NotePad++来修改,点选【编码】→【转换至UTF-8码格式(档首不含BOM)】。如果档案本身没中文,可直接点【编译成UTF-8(档首不含BOM)】。

    feed_1
    二、检查布景主题的编码
    如同第一部分,我们一样需检查布景主题的编码,一般国外载回来的布景,编码都是使用ANSII,如果遇到中文可能大家会另存成UTF-8,但却忘了BOM标签问题,所以我们一样需要透过以上的方式,将布景主题的编码全部统一改成UTF-8(不含BOM标签),再看RSS是否输出正确?

    feed_2
    三、检查functions.php
    众里寻它千百度,原来问题就在灯火阑珊处(乱引用)。后来发现问题是出在自订义函式那只PHP档案「functions.php」,当然首先建议先将档案调整成「UTF-8(不含BOM)」,接着将档案拉到最底下看,有看出什么端倪吗?没错!就是多了两行空白,结果造整个网站的RSS输出错误!

    feed_3
    解决方法就是把最后的空行删除掉,让游标最多只能到「?>」后面而已。这样就可以顺将决RSS输出的问题解决啰!

    feed_4
    四、问题解决啰!
    当问题解决之后,我们可透过浏览器或RSS订阅工具再次查看RSS页面,看看是否正常输出。通常问题大概是这样子解决的,如果这样无法解决,可能要看看你是不是曾经动到系统档案了?把WordPress档案丢回去覆盖看看,并且切换到原始布景主题,慢慢查起。

    feed_5