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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
Apr 21 Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 Javascript
JS 退出系统并跳转到登录界面的实现代码
Jun 29 Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
解决vue 绑定对象内点击事件失效问题
Sep 05 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 Javascript
react中hook介绍以及使用教程
Dec 11 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
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php把数组值转换成键的方法
2015/07/13 PHP
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
javascript清空table表格的方法
2015/05/14 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
python中as用法实例分析
2015/04/30 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
Python最小二乘法矩阵
2019/01/02 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
毕业生简单求职信
2013/11/19 职场文书
日语专业毕业生求职信
2013/12/04 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
总经理助理的职责
2014/03/14 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
民事辩护词范文
2015/05/21 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android