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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
JavaScript实现网页上的浮动广告的简单方法
Jun 14 Javascript
jquery 使用简明教程
Mar 05 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
Sep 22 Javascript
jquery实现键盘左右翻页特效
Apr 30 Javascript
javascript中的previousSibling和nextSibling的正确用法
Sep 16 Javascript
js密码强度校验
Nov 10 Javascript
Vue.js实现无限加载与分页功能开发
Nov 03 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
Aug 26 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 面向对象详解
2012/09/13 PHP
window.open不被拦截的实现代码
2012/08/22 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
vue2.0之多页面的开发的示例
2018/01/30 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
从Python程序中访问Java类的简单示例
2015/04/20 Python
Python多进程机制实例详解
2015/07/02 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
尝试用最短的Python代码来实现服务器和代理服务器
2016/06/23 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
python计算无向图节点度的实例代码
2019/11/22 Python
详解Python高阶函数
2020/08/15 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
教师实习自我鉴定
2013/12/18 职场文书
继承公证书样本
2014/04/04 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
股票投资建议书
2014/05/19 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Python matplotlib多个子图绘制整合
2022/04/13 Python