
JavaScript
Tyler-阿信
前端爱好者
展开
-
初识Javascript
Javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成:1.ECMAScript,由ECMA-262定义,提供核心语言功能;2.文档对象模型(DOM),DOM是针对XML但经过扩展用于HTML的应用程序编程接口(API)。DOM把整个页面映射为一个多层节点结构。它用来提供访问和操作网页内容的方法和接口。3.浏览器对象模型(BOM),它作为Javascript原创 2013-08-14 10:05:28 · 612 阅读 · 0 评论 -
用对象改写switch结构
switch结构不利于代码重用,往往可以用对象形式重写。var o = { banana: function (){ return }, apple: function (){ return }, default: function (){ return }};if (o[fruit]){ o[fruit]();} else { o['defau原创 2015-08-18 15:25:19 · 1782 阅读 · 0 评论 -
avalon中的模板绑定(ms-include)
avalon中的模板引入分为 内部模板 和 外部模板1.内部模板 .ms-controller,.ms-important,[ms-controller],[ms-important]{ display: none; visibility: hidden; }原创 2015-06-19 15:02:50 · 5694 阅读 · 0 评论 -
关于使用seajs时报错:Uncaught ReferenceError: $ is not defined
没有使用seajs模块化的时候,引用jquery没有出现这个问题。后来在使用seajs进行模块化时,引入jquery插件的时候,老是报这样的错误,在网上查了下原因大概是:1.jquery库文件的路径不对,检查文件路径是否正确一般就能解决该错误。2.如果库文件的路径是正确的,那么可能在html中加载jquery库文件顺序有误,如果将jquery库文件加载放到最开始位置,即可以解决该错误。原创 2015-05-07 11:26:07 · 5906 阅读 · 0 评论 -
FF和IE的一些兼容解决方案
一、document.formName.item("itemName") 问题问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"];Firefox下,只能使用document.formName.elements["elementName"]。解决方法:统转载 2015-05-15 10:36:46 · 807 阅读 · 0 评论 -
js及jquery获取页面和元素的宽高
js:网页可见区域宽: document.body.clientWidth;(不含滚动条)网页可见区域高: document.body.clientHeight;(不含滚动条)网页可见区域宽: document.body.offsetWidth;(包括边线的宽); 网页可见区域高: document.body.offsetHeight;(包括边线的宽);网页正文全文宽: doc原创 2015-05-10 22:16:09 · 1580 阅读 · 0 评论 -
判断一个对象是否是数组
在js中用typeof运算符判断数组的类型时,报告是“object”,这样看来没有任何意义。下面用一个很好的方式来区分数组和对象:var is_array = function(value){ return Object.prototype.toString.apply(value) === '[object Array]';}原创 2015-05-10 14:00:29 · 1285 阅读 · 0 评论 -
继承已有对象创建新对象
当创建一个新对象时,可以选择某个对象作为它的原型,上代码:Object.create = function(o){ var F = function(){}; F.prototype = o; return new F();}var objectA = {};var objectB = Object.create(objectA);原创 2015-05-09 23:49:33 · 1362 阅读 · 0 评论 -
js数组去重
Array.prototype.del = function(){ var a = {}, c = [], l = this.length; for (var i = 0; i < l; i++){ var b = this[i]; var d = (typeof b) + b; if(a[d] === undefined){ c原创 2015-03-18 15:30:38 · 799 阅读 · 0 评论 -
null和undefined
说起null跟undefined,相信很多人既熟悉,又迷惑。null是一个特殊值,常用来描述“空值”,它可以表示数字,字符串和对象是“无值”的,对null执行typeof会得到“object”。undefined是变量的一种取值,表明变量没有初始化,对undefined执行typeof会得到“undefined”。因为二者都是表示“值的空缺”,所以判断相等运算符“==”认为二者是相等的原创 2015-03-21 15:59:31 · 972 阅读 · 0 评论 -
js数组对象的方法
js中数组的一些方法总结:1.concat()连接两个或更多的数组,并返回结果数组2.join()把数组的所有元素放入一个字符串。元素通过制定的分隔符进行分隔3.pop()删除并返回数组的最后一个元素4.push()向数组的末尾添加一个或更多元素,并返回新的长度5.reverse()颠倒数组中元素的顺序6.shift()删除并返回数组的第一个元素原创 2015-02-10 14:18:27 · 897 阅读 · 0 评论 -
js中的逻辑与(&&)操作
上文介绍了逻辑或的操作,这篇介绍逻辑与的操作:1.对于布尔值,逻辑与是非常简单的,只要有一个false,就返回false2.对于不是布尔值的情况则:A.如果第一个操作数是对象,则返回第二个数;B.如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象;C.如果第两个操作数都是对象,则返回第二个数操作数;D.如果有一个操作数是null,则返回n原创 2015-02-10 10:43:34 · 1390 阅读 · 0 评论 -
js中的逻辑或(||)操作
在js中用到逻辑或:|| 的时候比较多,下面总结一下它的用法:1.对于布尔值,只要有一个true,就返回true2.对于不是布尔值的情况则:A.如果第一个操作数是对象,则返第一个操作数;B.如果第一个操作数的求值结果为false,则返回第二个操作数;C.如果两个操作数都是对象,则返回第一个操作数;D.如果两个操作数是null,则返回null;E.如果两个操作数是NaN,原创 2015-02-10 10:36:40 · 1790 阅读 · 0 评论 -
移除DOM元素
在IE中移除容器内的节点,会引起内存泄露,最好是创建一个新的节点,比如div,然后将要删除的节点放入这个div中,再将div的innerHTML清空。其它的浏览器直接removeChild就可以了。js代码如下:var removeNode = !+"\v1" ? function(){ var d; return function(node){ if(no转载 2015-02-09 11:09:29 · 2014 阅读 · 0 评论 -
使用(!+"\v1")判断是否是IE浏览器
之前在一牛人博客上面看到(!+"\v1")这种写法,然后马上找度娘,找到答案。其实就是利用了ie的一个bug。在ie浏览器中,"\v"没有转义,得到的结果为"v"而在其他浏览器中"\v"表示一个垂直制表符(一定程度上相当于空格)所以ie解析的"\v1" 为 "v1"而其他浏览器解析到 "\v1" 为 "1"在前面加上一个"+"是为了把后面的字符串转变成数字由于i原创 2015-02-09 10:29:19 · 1652 阅读 · 0 评论 -
Javascript的简单数据类型
Javascript的简单数据类型有如下5类:简单数据类型 取值Undefined undefined(只有一个值)Null null(只有一个值)Boolean原创 2013-08-16 16:05:22 · 963 阅读 · 0 评论 -
悟透Javascript
引子 编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。 数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。 你看,数据代码间的关系与物质能量间的关系有着惊人的相似。数据也是有惯性的,如果没有代码来施加外力,她总保持自己原来的状态。而代码就象能量,他存在的唯一目的,转载 2013-08-14 19:59:11 · 722 阅读 · 0 评论 -
关于IE中getElementsByClassName不能用的问题
IE6、8中不支持getElementsByClassName这种方法原创 2013-08-26 14:42:50 · 1358 阅读 · 0 评论 -
防止网页被iframe嵌入的代码
try{ top.location.hostname; if (top.location.hostname != window.location.hostname) { top.location.href =window.location.href; }}catch(e){ top.location.href = window.location.href;}原创 2015-12-02 16:14:30 · 3227 阅读 · 1 评论