Pro JavaScript Techniques学习笔记


Posted in Javascript onDecember 28, 2010

全局变量是Window对象属性的一部分,例子:

var test = 'test'; 
alert(window.test);

浏览器渲染和操作HTML的大致顺序:

HTML解析完毕
外部脚本和样式表加载完毕
脚本在文档内解析并执行
HTML DOM完全构造起来
图片和外部内容加载
网页完成加载
所有的主流浏览器都实现了innerHTML属性,但是因为没有统一标准,所以或多或少会有一些怪异的bug。

基于Mozilla的浏览器在innerHTML声明中并不回会返回<style>元素;
IE返回的元素字符都是大写的;
innerHTML作为一个只能用在HTML DOM文档的元素中的属性,若在XML DOM文档中使用的话只会返回null值。
检查元素是否有用一个指定的属性:

function hasAttribute(elem, name) { 
return elem.getAttribute(name) != null; 
};

JavaScript事件在两个阶段中执行:捕获和冒泡。

GET请求不应具有破坏性的副作用(比如删除一条消息)。

点击、鼠标悬停和鼠标离开事件的任何场合下,都要考虑提供非鼠标绑定的可选事件。

onmouseout ?> onblur 
onmousedown ?> onkeydown 
onmouseup ?> onkeyup 
onclick ?> onkeypress 
onmouseover ?> onfocus

eg.
var ax = document.getElementsByTagName('a'); 
for (var i = 0; i < ax.length; i++) { 
ax[i].onmouseover = ax[i].onfocus = function(){ 
this.style.backgroundColor = 'blue'; 
}; 
ax[i].onmouseout = ax[i].onblur = function(){ 
this.style.backgroundColor = 'white'; 
}; 
};

静态定位:这是元素定位的默认方式,它简单地遵循文档的普通流动(flow)。当元素是静态定位时,top和left属性无效。

position:static;top:0px;left:0px;
相对定位:这种定位形式与静态定位非常相似,因为元素会继续遵循文档的普通流动,除非受到其他指定的影响。但是,设置top或者left属性会引起元素相对于它的原始(静态)位置进行偏移。

position:relative;top:-50px;left:50px;
绝对定位:绝对定位的元素完全跳出页面布局的普通流动,它会相对于它的第一个非静态定位的祖先元素而展示。如果没有这样的祖先元素,则相对于整个文档。

position:absolute;top:20px;left:0px;
固定定位:固定定位把元素相对于浏览器窗口而定位。设置元素的top和left为0会使它显示在浏览器左上角,它完全忽略浏览器滚动条的拖动,一直会出现在用户的视野。

position:fixed;top:20px;left:0px;
开发预留退路(degrading gracefully):为页面增加任何形式的动态交互都有疏远某部分用户的潜在可能。应该时刻在意的是,当JavaScript或者CSS禁用的时候,Web应用程序应该具备基最基本可用性。

Javascript 相关文章推荐
理解Javascript_14_函数形式参数与arguments
Oct 20 Javascript
javascript简易缓动插件(源码打包)
Feb 16 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
JavaScript之引用类型介绍
Aug 10 Javascript
javascript函数重载解决方案分享
Feb 19 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
JavaScript“尽快失败”的原则实例详解
Oct 08 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
Dec 28 #Javascript
JavaScript动态调整TextArea高度的代码
Dec 28 #Javascript
JavaScript性能陷阱小结(附实例说明)
Dec 28 #Javascript
javascript写的日历类(基于pj)
Dec 28 #Javascript
Jquery下attr和removeAttr的使用方法
Dec 28 #Javascript
基于Jquery的动态创建DOM元素的代码
Dec 28 #Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 #Javascript
You might like
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
写出高质量的PHP程序
2012/02/04 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
AngularJS实现ajax请求的方法
2016/11/22 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
python pycurl验证basic和digest认证的方法
2018/05/02 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python实现图片添加文字
2019/11/26 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
汽车驾驶求职信
2013/10/25 职场文书
博士学位自我鉴定范文
2013/12/26 职场文书
学生会主席竞聘书
2014/03/31 职场文书
机关保密承诺书
2014/06/03 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
PHP 时间处理类Carbon
2022/05/20 PHP