作家
登录

js的写法基础分析

作者: 来源:www.28hudong.com 2013-03-30 01:01:55 阅读 我要评论

var a=false; !a&&alert("hi"); 解释 a为真才继续往下执行,所以会弹出hi var a=a||"hi"; 解释 当a为假的时候会继续执行,当a为真的时候跳出这个语句,所以可以通过这个办法复制默认值 上面的方法并非所有语言都是如此处理,比如PHP $a=@$a||"hi"; echo $a;//1 php把(@$a||"hi")之后的值赋值过去了... $a=true; !$a&&echo "hi"; 直接报错:syntax error, unexpected T_ECHO 关于prototype 很多情况下看到prototype都想到只有对象的情况下有 var add=function(){alert("b");} add.prototype.a = function () {alert("hi");} new add.prototype.a; 第一反应,可能会报错,其实不然,当没有生产对象的时候,可以通过add.prototype.a的方式直接调用静态的方法的 JS挺会误导人的,咳 选择器问题: 有时候需要选择一个节点下的子节点,用childNodes取值FIREFOX,IE的不同让人很郁闷 document.getElementsByTagName("head")[0].getElementsByTagName("script")[0]; 上面的方法结果用在head标签阶段还好,用在其他的不怎么好用了 所有觉得还是用个类名作处理好点 复制代码 代码如下: function getclassnode(classname,doc){ doc=doc||document; var node=[],i=0,j=0,t; var allnode=doc.getElementsByTagName("*"); while(t=allnode[i]){ if(RegExp(classname).test(t.className)){ node[j]=t; j++; } i++; } return node; } 自从用了JQ后,把原生的JS操作都忘的差不多了,偶尔复习下,感觉特麻烦,郁闷. 补上一点今天发现的JS要注意的地方,如果一个JS已经引入到了当前文档,即使移除引入节点,通过该引入JS文件定义的变量,函数等仍然有效,因为已经加载到了当前的文档环境,如下代码: 复制代码 代码如下: document.getElementsByTagName("head")[0].removeChild(document.getElementsByTagName("head")[0].getElementsByTagName("script")[0]);

  推荐阅读

  有趣的JavaScript数组长度问题代码说明

第一点: 复制代码 代码如下: var lennon=Array(); lennon["name"]="windy"; lennon["year"]="1989"; lennon["living"]=true; alert(lennon.length); 结果:lennon.length 为 0 原因: 用以下方式增加数组元素,>>>详细阅读


本文标题:js的写法基础分析

地址:http://www.17bianji.com/kaifa2/JS/24997.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)