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 相关文章推荐
js传值 判断
Oct 26 Javascript
jquery JSON的解析方式
Jul 25 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
JS中for循序中延迟加载动态效果的具体实现
Aug 18 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
Sep 10 Javascript
JQuery触发事件例如click
Sep 11 Javascript
js判断手机浏览器操作系统和微信浏览器的方法
Apr 30 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
Jun 25 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 Javascript
解决vue-cli输入命令vue ui没效果的问题
Nov 17 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
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JavaScript等比例缩放图片控制超出范围的图片
2013/08/06 Javascript
js 实现 input type="file" 文件上传示例代码
2013/08/07 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
jQuery弹出下拉列表插件(实现kindeditor的@功能)
2016/08/16 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
微信小程序仿通讯录功能
2020/04/09 Javascript
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
python判断输入日期为第几天的实例
2018/11/13 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
python开发游戏的前期准备
2019/05/05 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Python猜数字算法题详解
2020/03/01 Python
求职自荐信范文格式
2013/11/29 职场文书
电子商务自荐书范文
2014/01/04 职场文书
电气个人求职信范文
2014/02/04 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
不同意离婚代理词
2015/05/23 职场文书
三八妇女节主持词
2015/07/04 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL