Pro JavaScript Techniques学习笔记

 更新时间:2010年12月28日 19:27:03   作者:  
Pro JavaScript Techniques学习笔记,学习js的朋友可以参考下。
全局变量是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应用程序应该具备基最基本可用性。

相关文章

  • JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支

    JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支

    这篇文章主要介绍了JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支,结合实例形式总结分析了JS页面加载事件,数组操作,DOM节点操作,循环和分支所涉及的相关事件、函数及操作注意事项,需要的朋友可以参考下
    2019-07-07
  • js实现数组转换成json

    js实现数组转换成json

    本文给大家分享的是使用javascript实现的数组转换json的代码,非常简单实用,相当于JSON.stringify(array);,有需要的小伙伴可以参考下。
    2015-06-06
  • JavaScript 开发中规范性的一点感想

    JavaScript 开发中规范性的一点感想

    在开发中通用的几个方法,我们把它们放到utility目录下或者utility.js中;所有的提示信息和报错信息统一放置在一起。看起来都是小小的几步,却能让咱们开发的代码同事读起来更顺畅,下个项目中也能用上。
    2009-06-06
  • JS实现图片放大镜插件详解

    JS实现图片放大镜插件详解

    这篇文章主要为大家详细介绍了JS实现图片放大镜插件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • JavaScript实现图片懒加载与预加载的代码详解

    JavaScript实现图片懒加载与预加载的代码详解

    图片懒加载与预加载是前端优化中比较常见的方法,也是前端面试中会被问到的问题,如果不做懒加载和预加载,浏览器的回流重绘很快,而图片的加载是需要发送网络请求的,一次性发很多请求就会导致网络的堵塞,影响用户体验,接下来就让我们来实现一下懒加载以及预加载的效果
    2025-03-03
  • 浏览器兼容console对象的简要解决方案分享

    浏览器兼容console对象的简要解决方案分享

    不同浏览器或者版本之间对于console对象的支持不尽相同,而console方法在开发调试过程中都是不错的工具。难道要在上线前把所有console.xxxx去掉以保证某些浏览器不报错么。其实可以变通解决
    2013-10-10
  • 基于javascript的在火狐里面强制换行字符

    基于javascript的在火狐里面强制换行字符

    火狐也不知道为什么,自己功能上,样式上面,都无法让其强制换行,这里用JS来实现火狐里面强制换行的方法。
    2010-06-06
  • javascriptvoid(0)含义以及与

    javascriptvoid(0)含义以及与"#"的区别讲解

    今天小编就为大家分享一篇关于javascriptvoid(0)含义以及与"#"的区别讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 本地对象Array的原型扩展实现代码

    本地对象Array的原型扩展实现代码

    该扩展方法目的为删除数组中的重复项,并返回一个包含所有重复条目的新数组;
    2010-12-12
  • 浅谈目前可以使用ES10的5个新特性

    浅谈目前可以使用ES10的5个新特性

    这篇文章主要介绍了浅谈目前可以使用ES10的5个新特性,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06

最新评论