javascript
WEB_YH
一只会敲代码的猿
展开
-
arguments的说明
在调用函数时,我们有时候需要为某些函数传递一个,或者两个,更或者数量不定的参数。这时候我们所定义的函数可以不写传入的参数仍可以接受参数,无论参数数量多少。这是因为在ECMAScript中参数在内部为我们建立了一个数组来接受表示它们,而这个数组就是arguments。简单明了,arguments就是接收不定参,但arguments对象只是一个伪数组,并不是Array的实例。我们可以通过argum原创 2016-11-15 21:37:24 · 499 阅读 · 0 评论 -
js中的数字表示范围
在js中Number类型的实质是64为浮点数,javaScript所能表示的数值范围为正负1.7976931348623157乘以10的308次方,其最小所能表示的小数为正负5乘以10的负324次方,这两个边界值可以分别通过访问Number对象的MAX_VALUE属性和MIN_VALUE属性来获取.对于整数,在ECMAScript5规范中规定,无论正负数的值都不能大于2^53,在这个范围内,j原创 2017-05-22 14:45:08 · 4282 阅读 · 0 评论 -
javascript实现私有属性与实例属性
javascript中,在函数上扩展方法属性的时候,通常选择在函数的prototype上扩展,比如function fn(){}fn.prototype.doSomething = function(){} 在上面的例子中,doSomething只能通过fn.prototype.doSomething来访问,并不能通过fn.doSomething访问。 不知道大家看到这种情况会怎么想原创 2017-09-08 10:38:12 · 799 阅读 · 0 评论 -
前端跨域方法之websocket
websocket不受同源策略影响,只要服务器端支持,就能实现。demo:服务器端原创 2018-02-24 18:21:57 · 7368 阅读 · 2 评论 -
前端跨域方法之proxy(代理)
一、我们知道同源策略只是在浏览器中存在,不存在于服务器中。因此我们可以将需要跨域请求的地址转发给我们自己的服务器然后委托服务器去请求信息。demo如下:页面代码我们将需要请求的跨域地址发送给我们服务器服务器代码 服务器作为代理去请求信息。...原创 2018-02-24 18:24:20 · 10940 阅读 · 0 评论 -
前端跨域方法之document.domain和location.hash
document.domain如果两个窗体一级域名相同,只是二级域名不同,那么浏览器是允许通过设置document.domain共享数据。只要将document.domain设置成相同的域名就可以共享数据。location.hash一、片段识别符(location.hash)指的是URL的#后面的部分,比如http:127.0.0.1:3000/index.html#hello的#hello,只改...原创 2018-02-24 18:27:13 · 2782 阅读 · 0 评论 -
前端跨域方法之CORS
1、cross-domainCORS:是需要浏览器和服务器同时支持,IE浏览器不能低于IE10。整个跨域过程不需要用户的参与,从表面上看,CORS与ajax没有区别,代码相同,但是一旦浏览器发现跨域,它会自动在HTTP头部中添加附加信息(例如domain),关键在于服务器是否实现了CORS接口。CORS请求分为简单请求和非简单请求。只要满足上面的两大条件就是简单请求,否则就是非简单请求。一、简单请...原创 2018-02-24 18:30:13 · 7881 阅读 · 0 评论 -
前端跨域方法之JSONP
JSONP是服务器与浏览器跨源通信的常用方法,使用代价小。思想:网页通过添加一个<script>元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。demoindex.html服务器端: ...原创 2018-02-24 18:32:04 · 452 阅读 · 0 评论 -
前端跨域方法之window.PostMessage
一、window.PostMessage适用于同一页面的不同窗体内跨域通信。该方法允许跨窗口通信,不论这两个窗口是否同源。二、举例来说,父窗口http://127.0.0.1:3000/index.html 向子窗口 http://127.0.0.1:3001/index.html发送消息,调用postMessage方法就行。(向谁发送消息,首先要获取其window对象,比如父窗口向子窗口发送消息...原创 2018-02-24 18:34:27 · 987 阅读 · 0 评论 -
js中如何判断+0与-0
在js中我们一般认为正负0是不相等的,但是 -0 == +0 会返回true,那么怎么判断正负0代码如下(判断-0)function(num){return num == 0 && 1 / num }(判断+0)function(num){return num == 0 && 1 / num > 0 }原创 2017-05-17 09:42:04 · 5601 阅读 · 0 评论 -
javascript中call方法说明
初次接触call方法是在javascript高级编程中的引用类型Function类型一章中看到的,当时就是很不明白,这个函数到底是干什么用的,今天翻阅javascript高级编程第二遍的时候,还是很不理解,所以询问度娘,查阅书籍后,感觉自己明白了一些。 首先,先举个简单栗子 obj1.method.call(obj2,argument0,argument1),意思如下:就是把obj1下的原创 2016-11-15 20:49:56 · 546 阅读 · 0 评论 -
获取元素样式方式 style、getcomputedstyle与 currentStyle 的用法
元素的样式引用: 一共有三种方法:第一种:内嵌式,直接写在元素标签内、第二种:内部样式,使用标签中、第三种:外部样式表元素样式的获取: 1、针对内嵌式,可以直接使用 obj.style.attr获取元素样式(obj:获取的元素对象、attr:想要获得样式); 2、针对外部样式表和内部样式:可以通过getC原创 2016-11-11 12:51:34 · 695 阅读 · 0 评论 -
document.getElementsByClassName 的兼容性写法
document.getElementsByClassName的兼容性写法 在IE6,7,8 中没有document.getElementsName() 此方法,因此兼容性写法为: function getName(obj,oName) { var o原创 2016-11-11 21:20:26 · 2166 阅读 · 0 评论 -
js伪类的获取
伪类的获取: 在Dom2中,增强了document.defalutView,提供了getComputedStyle()方法, 此方法接受两个参数,第一个参数为想要获取样式的元素对象,第二个参数是伪元素字符串。如果 不需要获取伪元素则可以不写,或者写成null; 具体使用方法:css代码: js代码: 输出结果:有结果可以看出他原创 2016-12-05 22:43:35 · 8173 阅读 · 1 评论 -
伪类的控制
伪类的控制: 一、最为强暴的手法 直接使用Js创建style标签, 覆盖原来的样式。 二、 较为温柔的方式(间接) 使用class,直接js直接操控类名,间接操控伪类 三、上个版本已经解决了切换的问题,但有更多可以不断的切换 class,但是想下这种方式也还是有点笨重,因为可能要写很多css,如果是想换的内容是不确定的,需要用变量来原创 2016-12-05 23:04:56 · 481 阅读 · 0 评论 -
浅谈DOM遍历
DOM的遍历是深度优先的DOM结构遍历,那么什么是深度优先遍历。简而言之,首先访问出发点v,对纵深方向搜索。详细请百度。在“DOM2级遍历和范围”模块中,定义了两种用于遍历DOM结构的类型:NodeIterator和TreeWalker ,这两个属性在IE8以上支持,火狐1及更高版本、Safari1.3及更高版本,Opera7.6及更高版本,谷歌0.2及更高版本支持。NodeIterato原创 2016-12-07 22:08:07 · 2132 阅读 · 0 评论 -
跨浏览器确定浏览器窗口位置及窗口大小
确定窗口位置一共分两类,首先是 window.screenLeft 和 window.screenTop,其次是window.screenX 和 window.screen.Y.区别:window.screenLeft 和 window.screenTop 是 IE Safari Opera Chrome 中的方法。 window.screenX 和 wind原创 2016-11-28 12:06:02 · 1064 阅读 · 0 评论 -
前端跨域方法之window.name
window.name同样是适用于窗体之间的通信,window.name这个属性的值只要在同一个窗口中,前一个网页设置了它的值,后一个网页就可以读取他,无论是否跨域。例如:父窗口 http:127.0.0.1:3000/a.html 子窗口 http:127.0.0.1:3001/b.html子窗口内设置了window.name,那么父窗口就可以通过获取子窗口的window对象从而拿到window...原创 2018-02-24 18:37:42 · 825 阅读 · 0 评论