1.冲突简述和分析 prototype.js与json.js并不是完全兼容的.主要冲突在于json.js为Object的原型增加了一个toJSONString的方法. 冲突之一:是prototype中发送ajax请求时,遍历了一个header Object,结果将toJSONString也误当作一个header属性发送,导致错误: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE)…
用json2.js 代替 json.js防止与jQuery的js冲突 1 s.toJSONString json.js:259 2 Object.toJSONString json.js:158 3 Uncaught RangeError: Maximum call stack size exceeded 附 json2.js下载地址…
先看php文件,当我们获取到$arr这个数组后 foreach ($arr as $value) { $json .= json_encode($value) . ','; } echo '[' . substr($json,0,strlen($json) - 1) . ']'; json_encode()是将$arr的每一个值进行json编码,然后我们想输出一个json的数组,所以我们将每个编译后的值后面加一个逗号并且最后在所有值外面加上'[]',这是json数组的格式,注意因为我们在将每一个…
对于传统的OOP思想,JS的语法确实比较难搞,其中之一就是实例和对象的区别. 什么是实例? 实例是类的具体化产品. JS语法没有类这个概念(当然ES6引用了类这个概念).只能通过构造函数来创建类,例如: var person = new Object(); //person就是实例 什么是对象? JS是面向对象的语言,一切都是对象,那么函数也是对象.实例也是对象.对象字面量也是对象,而且JS中所有对象的成员都是公用的. 即:对象是一个具有多种属性的内容结构! 所以:实例都是对象,而对象不全是实例…
针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历:还有性能,优缺点等. JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]); } 2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显 for(var j = 0,len = arr.length; j < len; j++){ co…
首先下载下面这个文件(这是一段是别人写出来专门解析json的代码),然后引入这个文件! http://pan.baidu.com/s/1dD8qVr7 现在当我们需要用ajax与后台进行交互时,怎样将php的数组传送到js文件并且并js所识别? 先看php文件,当我们获取到$arr这个数组后 foreach ($arr as $value) { $json .= json_encode($value) . ','; } echo '[' . substr($json,0,strlen($json…
以前还是纯小白的时候,总会搞混JS数组的 slice() 和 splice() 方法.因为这2个方法名字太像了,就差一个字母,语法也有类似之处.    现在久了没用,有时候也会忘记,所以做一个总结来区分一下. slice() slice()定义:从已有的数组中返回你选择的某段数组元素   slice()语法:arrayObject.slice(start,end) 注: ①:start表示从何处开始选取,end表示从何处开始结束选取,表示一个选取的范围 ②:start可以为负数,此时它规定从数组…
<script> //----------------for用来遍历数组对象-- var i,myArr = [1,2,3]; for (var i = 0; i < myArr.length; i++) { console.log(i+":"+myArr[i]); }; //---------for-in 用来遍历非数组对象 var man ={hands:2,legs:2,heads:1}; //为所有的对象添加clone方法,即给内置原型(object,Arra…
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决. 但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域. JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议.我们拿最近比较火的谍战…
这是很基础的知识,but,对于一只未系统学习过js,只略懂搬砖的跨界狗,还是经常犯错: 场景:移动端上拉加载更多. 初始数组合并后来请求的数组. 使用concat方法,不过要主要: 使用concat,不会改变数组本身,容易犯 a.concat(b),就以为a中合并了b的数据 var a=[1,2,3],b=[4,5,6]; var c=a.concat(b); console.log(c);// 1,2,3,4,5,6 console.log(a);// 1,2,3 不改变本身 遍历对象: 使用…