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 特殊字符串
Feb 25 Javascript
Javascript 静态页面实现随机显示广告的办法
Nov 17 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
Jan 25 Javascript
JS格式化数字金额用逗号隔开保留两位小数
Oct 18 Javascript
Knockout visible绑定使用方法
Nov 15 Javascript
javascript下拉列表中显示树形菜单的实现方法
Nov 17 Javascript
js 定位到某个锚点的方法
Nov 19 Javascript
javascript自执行函数
Feb 10 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
Jun 21 Javascript
微信小程序登录换取token的教程
May 31 Javascript
微信小程序实现卡片层叠滑动效果
Jun 21 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
使用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
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
ECMAScript6函数默认参数
2015/06/12 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
Angular设置title信息解决SEO方面存在问题
2016/08/19 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
angular2实现统一的http请求头方法
2018/08/13 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
vue源码nextTick使用及原理解析
2019/08/13 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
使用Python+wxpy 找出微信里把你删除的好友实例
2019/02/21 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
会计与审计专业大专生求职信
2013/10/03 职场文书
门卫岗位职责
2013/11/15 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
公司财务总监岗位职责
2013/12/14 职场文书
参观监狱心得体会
2014/01/02 职场文书
施工安全责任书范本
2014/07/24 职场文书
单位委托函范文
2015/01/29 职场文书
行政申诉状范文
2015/05/20 职场文书
收入证明怎么写
2015/06/12 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android