随笔分类 - JavaScript
摘要:不需要分页时,直接在select内添加option列表 如果要分页的话 这里要注意的一个问题是,后台返回的数据列表必须含有id这个字段,不然会出现问题,一直不能选中数据。 这个不知道的人,被坑死了!
阅读全文
摘要:JS事件监听器Javascript事件监听测试弹出3,4解除绑定事件的时候一定要用函数的句柄,把整个函数写上是无法解除绑定的。所以3没有解除添加 console.dir(Button1); console.dir(Button1["onclick"]); console.dir(Button1.onclick); console.dir(Button1.onclick()); Button1.onclick = function () { alert("hongda"); } Button1.onclick = function () { ...
阅读全文
摘要:源码: $.ajax({ url: url, success: function (data) { var reg = /<body>[\s\S]*<\/body>/g; var html = reg.exec(data)[0]; html = $(html).filter(".body_main"
阅读全文
摘要:console.log(Object.__proto__===Function.prototype); //trueconsole.log(Object.prototype.__proto__); //nullconsole.log(Function.__proto__===Function.prototype); //true总结结果: 黑线:prototype 红线:__proto__Object.prototypeFunction.prototypeObjectFunctionhttp://www.cnblogs.com/siemon/ar...
阅读全文
摘要:var arr=[1,2,3,4,5];console.dir(arr);var pro=Object.getPrototypeOf(arr);console.dir(pro);来一个个的查看数组的属性,方法1.Array的静态方法var arr=[1,2,3,4,5];console.log(Array.isArray(arr)) //true2.arr的属性var arr=[1,2,3,4,5];var con=arr.constructor;console.dir(con);var length=arr.length;console.dir(length);3.arr的方法 1.con.
阅读全文
摘要:Object的属性(firebug中没有找到)var pro={city:"shanghai",list:[1,2,3,4,5]}var Person=function(name,age){this.name=name;this.age=age;this.arr=[1,2,3,4,5];}Person.prototype=pro;var p=new Person("hongda",27);console.log("hasOwnProperty:");console.log(p.hasOwnProperty("name&quo
阅读全文
摘要:以前,我就晓得delete只能够删除隐性属性(就是没有进行声明的变量),但是不知道为什么这样?隐性属性:在页面中以前没有声明过该变量,直接进行赋值的 str='hongda'其实这是由属性的特性决定的。属性的特性所有的属性(property) 都可以有很多特性(attributes)。{ReadOnly}——忽略向属性赋值的写操作尝,但只读属性可以由宿主环境行为改变——也就是说不是“恒定值” ;{DontEnum}——属性不能被for..in循环枚举{DontDelete}——糊了delete操作符的行为被忽略(即删不掉);{Internal}——内部属性,没有名字(仅在实现层
阅读全文
摘要:1.添加HTTP文件头 $.ajax({ url: "http://www.baidu.com", //contentType: "text/html; charset=utf-8", beforeSend: function (xhr) { xhr.setRequestHeader("Access
阅读全文
摘要:位运算符:~(NOT)把运算数转换为32位数字–>转换为反码–>转换为浮点数实质上是对数字求负,然后减1: ~25=-26,~-10=9&(AND)是对每个数字中的数位对齐,同一位置的两个数位进行”与”运算25=0000 0000 0000 0000 0000 0000 0001 10013=0000 0000 0000 0000 0000 0000 0000 0011————————————————————————————————————————————&=0000 0000 0000 0000 0000 0000 0000 0001 = 1|(OR)是对每个数字
阅读全文
摘要:1. var a=[0],b=a; b[0]=2; console.log(a+b); //22 a=[0], b=a, b=[1]; console.log(a+b); //01 2.快速排序法 var quickSort = function(arr) { if (arr.length <= 1
阅读全文
摘要:JavaScript类型(1)值类型:数值、布尔值、null、undefined。(2)引用类型:对象、数组、函数。 1.string var str="hongda"; var str2=str; str2="hongdaqi"; console.log(str); console.log(str2);2.ObjectString/Number这种的类的对象,它没有其他的属性(string有length,但不能修改),一般都是直接赋值的,但它本身是个object,可以添加属性来查看是否是引用类型。var str=new String("hon
阅读全文
摘要:js中全部都是顺序环视顺序环视匹配过程对于顺序肯定环视(?=Expression)来说,当子表达式Expression匹配成功时,(?=Expression)匹配成功,并报告(?=Expression)匹配当前位置成功。对于顺序否定环视(?!Expression)来说,当子表达式Expression匹配成功时,(?!Expression)匹配失败;当子表达式Expression匹配失败时,(?!Expression)匹配成功,并报告(?!Expression)匹配当前位置成功;顺序肯定环视的例子已在NFA引擎匹配原理中讲解过了,这里再讲解一下顺序否定环视。源字符串:aaonebbtwocc正则
阅读全文
摘要:1. var data = " test "; var reg = /]*>/ig; var a = data.replace(reg, ""); console.log(a);2.var str=""; var data = [' ', ' '] ; var reg = /]+)\1)(?:(?!src=).)*src=(['"]?)([^'"\s>]+)\3[^>]*>/i; for(var i=0;i<data.length;i++
阅读全文
摘要:问号1.?表示重复前面内容的0次或一次(但尽可能多重复)var reg=/abc?/g;var str="abcdabcaba";console.log(str.match(reg)); //abc,abc,ab2.??表示重复前面内容的0次或一次(但尽可能少重复)var reg=/abc??/g;var str="abcdabcaba";console.log(str.match(reg)); //ab,ab,ab3.惰性量词正则中的量词都为贪婪量词,但在后面加上?就成了惰性量词。var reg=/a\w+/g;var str="abcdab
阅读全文
摘要:正向前瞻:用来捕获出现在特定字符之前的字符,只有当字符后面跟着某个特定字符才去捕获它。(?=)负向前瞻:它用匹配只有当字符后面不跟着某个特定字符时才去匹配它。(?!)在执行前瞻和负向前瞻之类的运算时,正则表达式引擎会留意字符串后面的部分,然而却不移动index 。代码: var reg=/([a-z]+(?=\d))/g; var str="abc1bcd2cde"; console.dir(reg.exec(str)); console.dir(reg.exec(str)); console.dir(RegExp); console.log(str.match(reg..
阅读全文
摘要:继续上一篇的写,这篇复杂点。分组+范围var reg=/([abcd]bc)/g; var str="abcd bbcd cbcd dbcd"; console.log(str.match(reg)); console.dir(reg.exec(str)); console.dir(reg.exec(str)); console.dir(reg.exec(str)); console.dir(reg.exec(str)); var reg=/([abcd]bc)/; var str="abcd bbcd cbcd dbcd"; console.log(s
阅读全文
摘要:在现在的我看来,带小挂号的就是分组,嗯。代码: var reg=/(abc)/; var str="abcdabcdeabcdef"; console.dir(reg.exec(str)); var reg=/(abc)(de)/; var str="abcd abcde abcdef"; console.dir(reg.exec(str)); var reg=/(abc)(abc)/; var str="abcd abcde abcdef"; console.dir(reg.exec(str));没有子对象 var reg=/(ab
阅读全文
摘要:关于正则表达式的RegExp方法:test,exec,String 方法:match,search,全局 g var str = "abababa"; var re = /a/g; console.log(re.test(str)); console.log(re.lastIndex); console.log(re.test(str)); console.log(re.lastIndex); console.log(re.test(str)); console.log(re.lastIndex); console.l...
阅读全文
摘要:方法1:Date.prototype.Format = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours()%12==0?12:this.getHours()%12, //小时 "H+": this.getHours(), "m+": this.getMinutes(), //分 "s+": this.getSecon
阅读全文
摘要:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 可以发现setTimeout内部的function是等待10s以后再执行的。 把时间改为0 发现它还是最后执行的 类似异步 更具体的,更详细的 时间为100微秒 差距都差不多,更setTimeout间隔时间无关. 那么setT
阅读全文