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 相关文章推荐
tbody元素支持嵌套的注意方法
Mar 24 Javascript
如何确保JavaScript的执行顺序 之jQuery.html深度分析
Mar 03 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
禁止空格提交表单的js代码
Nov 17 Javascript
浅谈JavaScript中变量和函数声明的提升
Aug 09 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 Javascript
JS实现的简单表单验证功能完整实例
Oct 14 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
May 09 Javascript
vue中jsonp插件的使用方法示例
Sep 10 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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
详解php中反射的应用
2016/03/15 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
python列表去重的二种方法
2014/02/14 Python
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
Python字符串详细介绍
2015/05/09 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
python程序输出无内容的解决方式
2020/04/09 Python
python+requests实现接口测试的完整步骤
2020/10/27 Python
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
精彩的大学生自我评价
2013/11/17 职场文书
软件项目开发计划书
2014/05/01 职场文书
超市创业计划书
2014/09/15 职场文书
典型事迹材料范文
2014/12/29 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
国王的演讲观后感
2015/06/03 职场文书
个人售房合同协议书
2016/03/21 职场文书
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python