JavaScript
向着架构之路前进的小强
路漫漫其修远兮,吾将架构而求索。
展开
-
JS this
this 的工作原理JavaScript 有一套完全不同于其它语言的对 this 的处理机制。 在五种不同的情况下 ,this 指向的各不相同。全局范围内this;当在全部范围内使用 this,它将会指向全局对象。译者注:浏览器中运行的 JavaScript 脚本,这个全局对象是 window。函数调用foo();这里 thi转载 2016-05-24 13:55:12 · 246 阅读 · 0 评论 -
script引用放置位置
理论上来说js标签放在html文档的任何位置都可以,规范起见,推荐放到body结束标签的末尾,包含到body标签内: // 这里是代码 这样处理的好处是无需担心因页面未完成加载,造成DOM节点获取不到,使脚本报错的问题,而且能避免因脚本运行缓慢造成页面卡死的问题。另外,Yahoo的前端优化指南里就有这一条。转载 2016-07-04 09:40:32 · 1246 阅读 · 0 评论 -
没有块级作用域
声明变量使用var声明的变量会自动被添加到最接近的环境中。在函数内部,最接近的环境就是函数的局部环境;在with语句中,最接近的环境就是函数的局部环境;如果初始化变量时没有使用var声明,该变量会自动被添加到全局环境。转载 2016-07-01 18:12:08 · 244 阅读 · 0 评论 -
JavaScript值传递和引用传递
值传递是只把对象的值传入函数,函数中可以使用这个值,但却无法更改该对象的值。引用传递是将整个对象本身(或地址)传入函数,在函数中既可调用对象的值,也可改变对象的值。复制变量1. 基本类型var num1 = 5;var num2 = num1;2. 引用类型(对象)var obj1 = new Object();var obj2 =原创 2016-07-01 16:25:00 · 297 阅读 · 0 评论 -
DOM整理
DOM属性节点的属性1. nodeName2. nodeType返回整数值对应以下12种节点类型之一:(1) ELEMENT_NODE(2) ATTRIBUTE_NODE(3) TEXT_NODE(4) CDATA_SECTION_NODE(5) ENTITY_REFERENCE_NODE(6) ENTITY_NODE(7) PROCESSING_I原创 2016-07-01 13:56:35 · 268 阅读 · 0 评论 -
js post
function post(URL, PARAMS) { var temp = document.createElement("form"); temp.action = URL; temp.method = "post"; temp.style.display = "none"; for (var x in转载 2016-06-14 11:57:55 · 410 阅读 · 0 评论 -
js css 加载
不是比引用文件慢些!在HTML里面有权重的分别,在文件内部的js和css的权重会比引用文件的权重高一些。但是将js和css直接放到html里面会拖累HTML的加载速度也就是通常说的网页打开比较慢,比较卡。建议将一些必须先加载的js放到html中,将动态的css放到html中,其他的都放到js和css文件中,在html中引用就好!转载 2016-05-19 11:21:59 · 298 阅读 · 0 评论 -
JS原型
深入理解JavaScript系列(5):强大的原型和原型链2012-01-05 09:12 by 汤姆大叔, 56344 阅读, 60 评论, 收藏, 编辑前言JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。实现传统的类继承模型是转载 2016-05-18 13:31:58 · 250 阅读 · 0 评论 -
pc、手机访问判断
/* 判断是否为PC访问 */function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]转载 2016-05-05 15:15:40 · 260 阅读 · 0 评论 -
浏览器版本判断 js
var Sys = {};var ua = navigator.userAgent.toLowerCase();var s;(s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :(s = ua.match(/fire转载 2016-05-12 09:52:39 · 267 阅读 · 0 评论 -
JS 变量声明提升(Hoisting)
变量声明提升(Hoisting)JavaScript 会提升变量声明。这意味着 var 表达式和 function 声明都将会被提升到当前作用域的顶部。bar();var bar = function() {};var someValue = 42;test();function test(data) { if (false) { goo = 1;转载 2016-05-24 15:20:52 · 348 阅读 · 0 评论 -
JSON对象和字符串互转
var obj = JSON.parse(str);var str = JSON.stringify(obj);原创 2016-07-05 15:19:37 · 282 阅读 · 0 评论