`
scomouse
  • 浏览: 14821 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

记录一些js 自己得盲点

 
阅读更多

做jser多年,依旧有很多不熟悉的东西,边看边记录吧


toString

把各种东西变成字符串,比如把数组变成字符串,把函数变成字符串,等等


把函数变成字符串

可以把整个函数字符串化,比如

var f = function(){console.log(1)}

f.toString()

返回的字符串是"function(){console.log(1)}"

函数的toString()有什么作用了,

在现实中是有很大的作用的

比如老赵的Jscex,能把异步的回调写法写成同步的写法,

用到的方法就是把function toString然后改变该函数,回调后在往下执行

还有requirejs也用到了类似的方法



把对象转化成字符创

var a={}
a.toString()
//"[object Object]"
会以"[object Object]"这种形式出现,

如果是functon 或者是是 array调用对象的toString也会是这种形式

所以在判断一个变量的类型的时候用到它是个不错的解决方案(typeof 判断不出来函数,数组)

判断是否是函数

var toString = Object.prototype.toString
function isFunction(fun){
	return toString.call(fun) == "[object Function]"
}


MatchesSelector

接收一个css选择符,如果调用元素与该选择符匹配,返回true。否则返回false

然后各个浏览器的实现出来的名字都不相同 所以做好拿一个变量来引用

var matchesSelector = element.webkitMatchesSelector || element.mozMatchesSelector ||element.oMatchesSelector || element.matchesSelector

MatchesSelector这个方法是挂在dom元素上的,入参数是一个css选择符

使用方法如下

$("#a")[0].webkitMatchesSelector ("#b #a")

判断id为a的元素是否符合"#b #a"这个css表带式 (其实就是看id为a的元素是否在id为b的元素的子集)


ie6支持fiexed定位

源于一个恶心的需求

还好看到了一篇文章

http://www.qianduan.net/fix-ie6-dont-support-position-fixed-bug.html



chrome查看内存,网络,cpu

可以去看这篇文章,图文并茂

快捷键按ctrl+esc



屏幕滚动到该元素:div.scrollIntoView();


检测是否网络连接状态

navigator.onLine 如果有为true表示有网络连接状态 false表示没有

也可以监听网络的连接和断开(webkit浏览器支持,不支持的浏览器可以轮询访问navigator.onLine来判断)

window.addEventListener("online", function(){
alert("连上了!!!")
})
window.addEventListener("offline", function(){
alert("断开了!!!")
})


网页文件另存为

http://ucren.com/blog/archives/473

不需要真实的文件,也可以另存为

HTML5 的 <a> 标签有了一个新属性,叫 download,取值是一个文件名,当一个带有 download 属性的 <a> 链接被点击时,其形为不再是一个网页跳转,而变成将目标以指定的文件名另存到本地,兼容性还不错的样子

<a id="save-btn" href="data:text/paint; utf-8,测试文本,你可以随便修改,完事后点保存。" download="noname.txt">保存</a>

试试点下面的保存

保存



版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics