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语法着色引擎(demo及打包文件下载)
Jun 13 Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 Javascript
IE与FireFox的JavaScript兼容问题解决办法
Dec 31 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
Javascript 高阶函数使用介绍
Jun 15 Javascript
jquery实现超简洁的TAB选项卡效果代码
Aug 28 Javascript
Bootstrap 模态框(Modal)插件代码解析
Dec 21 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 Javascript
js实现简易ATM功能
Oct 27 Javascript
js实现筛选功能
Nov 24 Javascript
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
使用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 随机数的深入理解
2013/06/05 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
python动态加载包的方法小结
2016/04/18 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
python实现三种随机请求头方式
2021/01/05 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
在校生自我鉴定
2014/01/23 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
离婚协议书范文2014
2014/10/16 职场文书
优秀教师先进材料
2014/12/16 职场文书
追悼词范文大全
2015/06/23 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
golang定时器
2022/04/14 Golang
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技