- 浏览: 51127 次
- 性别:
- 来自: 武汉
最新评论
-
zhangdong1986:
great article, the content cove ...
利用eclipse编写高质量的java代码
一、取URL中的参数
function getParameterByName(name) { var match = RegExp('[?&]' + name + '=([^&]*)') .exec(window.location.search); return match && decodeURIComponent(match[1].replace(/\+/g, ' ')); }
二、正则分组
var testStr="<div><img src='/a.jpg' alt='' /><span>test</span><img src='/b.jpg' alt='' /><span>TTest</span><img src='/c.png' alt='' /></div>"; var reg=/<img\ssrc='(.*?)'\s+alt=''\s*\/>/g; var match=reg.exec(testStr),results=[]; while(match != null){ results.push(match[1]); match=reg.exec(testStr); } console.log(results); /* Array ["/a.jpg", "/b.jpg", "/c.png"] */
三、为什么parseInt(1/0,19)的结果为18
1/0的结果是Infinity,所以parseInt(1/0,19)等同于parseInt("Infinity",19),而在19进制中:
19进制 10进制 -------------------- 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 a 10 b 11 c 12 d 13 e 14 f 15 g 16 h 17 i 18
i表示18,所以parseInt(1/0,19)的结果为18。
四、jQuery中获取设置checkbox选中状态
由于在jQuery1.6以后.attr("checked")的返回结果是 checked,所以一般用下面两种方法获取选中状态:
$("#checkboxID").is(":checked");
//jQuery 1.6 + $("#checkboxID").prop("checked");
选中checkbox:
//jQuery 1.6+ $("#checkboxID").prop("checked", true); $("#checkboxID").prop("checked", false); //jQuery 1.5 and below $('#checkboxID').attr('checked','checked') $('#checkboxID').removeAttr('checked')
五、jQuery中判断一个元素是否存在
if ($(selector).length)
六、用JavaScript对URL进行编码
var myUrl = "http://example.com/index.html?param=1&anotherParam=2"; var myOtherUrl = "http://example.com/index.html?url=" + encodeURIComponent(myUrl);
七、jQuery中event.preventDefault() 与 return false的区别
//Demo1 event.preventDefault() $('a').click(function (e) { // custom handling here e.preventDefault(); }); //Demo2 return false $('a').click(function () { // custom handling here return false; };
jQuery中return false相当于同时调用e.preventDefault和 e.stopPropagation。
要注意的是,在原生js中,return false仅仅相当于调用了e.preventDefault。
八、JavaScript检查一个字符串是否为空最简单的方法
if (strValue) { //do something }
九、用JavaScript添加和删除class
//Add Class document.getElementById("MyElement").className += " MyClass"; //Remove Class document.getElementById("MyElement").className = document.getElementById("MyElement").className.replace(/(?:^|\s)MyClass(?!\S)/,'');
十、在jQuery中取消一个ajax请求
var xhr = $.ajax({ type: "POST", url: "test.php", data: "name=test", success: function(msg){ alert( msg ); } }); //取消请求 xhr.abort()
要注意的是,在ajax请求未响应之前可以用xhr.abort()取消,但如果请求已经到达了服务器端,这样做的结果仅仅是让浏览器不再监听这个请求的响应,但服务器端仍然会进行处理。
十一、JavaScript删除数组中的项 delete vs splice
var myArray=["a","b","c"]; delete myArray[0]; for(var i=0,j=myArray.length;i<j;i++){ console.log(myArray[i]); /* undefined b c */ } var myArray2=["a","b","c"]; myArray2.splice(0,1); for(var i=0,j=myArray2.length;i<j;i++){ console.log(myArray2[i]); /* b c */ }
上面的代码已经说明区别了,一个是设置为undefined,一个是真正的删除了。
十二、JavaScript中16进制与10进制相互转换
var sHex=(255).toString(16);//ff var iNum=parseInt("ff",16);//255
十三、JavaScript多行字符串
如何在JavaScript中方便地写一个多行字符串呢,有三种方案,你自己选吧:
//one var testHtml="a"+ "b"+ "c"; //two var testHtml2="a\ b\ c"; //three var testHtml3=["a", "b", "c"].join("");
十四、JavaScript中!!操作符是什么
console.log(!!10);//true console.log(!!0);//false console.log(!!"abc");//true console.log(!!"");//false
简单地说就是把右侧的值转为bool值
十五、JavaScript实现endsWith
String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; //or function endsWith(str, suffix) { return str.indexOf(suffix, str.length - suffix.length) !== -1; }
十六、JavaScript中克隆对象
function clone(obj) { // Handle the 3 simple types, and null or undefined if (null == obj || "object" != typeof obj) return obj; // Handle Date if (obj instanceof Date) { var copy = new Date(); copy.setTime(obj.getTime()); return copy; } // Handle Array if (obj instanceof Array) { var copy = []; for (var i = 0, var len = obj.length; i < len; ++i) { copy[i] = clone(obj[i]); } return copy; } // Handle Object if (obj instanceof Object) { var copy = {}; for (var attr in obj) { if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]); } return copy; } throw new Error("Unable to copy obj! Its type isn't supported."); }
十七、JavaScript字符与ASCII码间的转换
console.log("\n".charCodeAt(0));//10 console.log(String.fromCharCode(65));//A
十八、JavaScript中浮点数的相等判断不能用 ==
console.log(0.1+0.2 == 0.3);//false console.log(Math.abs(0.1+0.2 - 0.3) < 0.000001);//true
如上所示,浮点数相等判断要用差的绝对值小于某一个数来判断。至于原因可以参考这里:http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
十九、JavaScript中base64编码
var Base64 = { // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) { var output = ""; var chr1, chr2, chr3, enc1, enc2, enc3, enc4; var i = 0; input = Base64._utf8_encode(input); while (i < input.length) { chr1 = input.charCodeAt(i++); chr2 = input.charCodeAt(i++); chr3 = input.charCodeAt(i++); enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); enc4 = chr3 & 63; if (isNaN(chr2)) { enc3 = enc4 = 64; } else if (isNaN(chr3)) { enc4 = 64; } output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); } return output; }, // public method for decoding decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, // private method for UTF-8 encoding _utf8_encode : function (string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }, // private method for UTF-8 decoding _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while ( i < utftext.length ) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } } //encode Base64.encode("Test"); //VGVzdA== //decode Base64.decode("VGVzdA=="); // Test
二十、jQuery中each跟map的区别
each跟map都可以用来遍历Array或Object,区别是each不改变原来的Array或Object,map是操作给定的Array或Object返回一个新Array或Object。Demo:
var items = [1,2,3,4]; $.each(items, function() { alert('this is ' + this);//alert 1,2,3,4 }); var newItems = $.map(items, function(i) { return i + 1; }); // newItems is [2,3,4,5]
map会占用更多的内存,所以如果只是遍历建议用each。
发表评论
-
生成输入目录下的所有文件名.html
2011-06-21 16:21 834<!DOCTYPE HTML PUBLIC " ... -
js获取本地文件夹和文件
2011-06-20 21:33 840一、功能实现核心:FileSystemObject 对象 ... -
js中SetInterval与setTimeout用法
2010-01-25 14:20 635JS里设定延时: 使用SetInterval和设定延时函数s ... -
jsp页面打印
2010-03-08 11:15 814重点: <OBJECT id=WebBrowser cl ... -
YUI Changing the Contents of the DataTable
2010-03-11 14:23 871Working with the YUI DataTable ... -
jstl攻略
2010-07-13 21:15 0前言从jsp 1.1规范开始,jsp就支持在jsp中使用自定义 ... -
FCK 异常小结(使用JAVA-core-2.5.jar)
2010-07-16 16:14 8891.Security error. You probably ... -
提交之前获取fckeditor中的内容
2010-07-17 11:00 736提交之前获取fckeditor中的内容 FCKedi ... -
javascript正则表达式获取fckeditor的图片地址
2010-07-17 11:49 987首先声明我用的fckeditor ... -
jquery ajax
2010-07-17 16:40 1112JQuery的ajax实例: jQuery Aj ... -
jquery radio取值,checkbox取值,select取值,radio选中
2010-07-18 12:02 538获取一组radio被选中项的值 varitem=$(' ... -
Flex自定义日历控件
2010-09-03 13:57 859在使用Flex做日程安排的时候需要一个日历功能,在日历中显示日 ... -
js禁用参数大全
2010-11-23 16:52 692<scriptlanguage="jav ... -
javascript导出页面表格为excel
2010-12-01 10:32 0Javascript实现把网页中tab ... -
js随机抽人员比赛并导出为excel
2010-12-01 10:59 833<!DOCTYPE HTML PUBLIC " ... -
javascript导出页面表格为excel
2011-03-19 00:24 1106Javascript实现把网页中table的内容导入到exce ... -
jstl攻略
2010-07-13 21:05 601从jsp 1.1规范开始,jsp就支持在jsp中使用自定义标签 ... -
YUI Changing the Contents of the DataTable
2010-03-11 14:13 1622Working with the YUI DataTable ... -
jsp页面打印
2010-03-08 11:11 1384重点: <OBJECT id=WebBrowser ...
相关推荐
多个文件框javascript搜集多个文件框javascript搜集多个文件框javascript搜集
<br>JavaScript收集的43个特效效果 JavaScript收集的43个特效效果 JavaScript收集的43个特效效果 JavaScript收集的43个特效效果 JavaScript收集的43个特效效果 JavaScript收集的43个特效效果 ...
JavaScript经典代码收集,个人收集的经典常用的JavaScript代码
本人长期收集的大量js,其中包括自己试验,测试搞的例子,希望对广大编程爱好者有帮助,
包括使用Javascript实现的表单验证,多级下拉列表,后台框架以及InputBoxCalendar的一些实例
有关页面的跳转,把首页设为首页和加入收藏夹/.ENTER键可以让光标移到下一个输入框
提示信息收集的Javascript定义信息
Javascript收集实用程序(例如每个实用程序)进行过滤和查找,以与对象和数组一起使用 入门 1.安装 npm install javascript-collection-paraphernalia 2.例子 需要javascript-collection-paraphernalia var ...
html和javaScript资料和小例子
网页常用Javascript经典代码收集
当时我学JavaScript用的资料 感觉很使用 就共享了 希望可以帮助你学好JavaScript
JavaScript案例 很多脚本的收集 适合全面了解JavaScript用法
个人收集的javascript小实例源码,对学习javascript或做网站的朋友应该有用!
JavaScript经典代码大全收集.pdf
javascript 实例 搜集2 js 实例 贺岁霓虹灯 javascript 实例 搜集2 js 实例 贺岁霓虹灯 javascript 实例 搜集2 js 实例 贺岁霓虹灯 javascript 实例 搜集2 js 实例 贺岁霓虹灯 javascript 实例 搜集2 js 实例 贺岁...
javascript技巧精心收集
javascript脚本收集贴,基本网页验证类的都有了。
JAVASCRIPT设计模式[收集].pdf
JavaScript技巧收集,这是是从网上搜集的,都是实用的技巧!
个人收集的各种漂亮javascript日历 有5种不同的日历效果