js的写法基础分析


Posted in Javascript onJanuary 17, 2011

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 相关文章推荐
ExtJS Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
Jquery动态添加及删除页面节点元素示例代码
Jun 16 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
javascript中scrollTop详解
Apr 13 Javascript
实现JavaScript的组成----BOM和DOM详解
May 18 Javascript
JavaScript微信定位功能实现方法
Nov 29 Javascript
JavaScript结合HTML DOM实现联动菜单
Apr 05 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 Javascript
js 动态文字滚动的例子
Jan 17 #Javascript
JavaScript中的Array对象使用说明
Jan 17 #Javascript
改进UCHOME的记录发布,增强可访问性用户体验
Jan 17 #Javascript
对xmlHttp对象的理解
Jan 17 #Javascript
对xmlHttp对象方法和属性的理解
Jan 17 #Javascript
Grid得到选择行数据的方法总结
Jan 17 #Javascript
JS中confirm,alert,prompt函数区别分析
Jan 17 #Javascript
You might like
国内php原创论坛
2006/10/09 PHP
php处理斐波那契数列非递归方法
2012/02/04 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
用js重建星际争霸
2006/12/22 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
浅谈JavaScript function函数种类
2014/12/29 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
python读文件逐行处理的示例代码分享
2013/12/27 Python
使用Python写CUDA程序的方法
2017/03/27 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
《理想》教学反思
2014/02/17 职场文书
验房委托书
2014/08/30 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
文明班级申报材料
2014/12/24 职场文书
房屋质量投诉书
2015/07/02 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书