- 浏览: 565109 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
a1641693970:
还不错,学习了
BeanUtils使用总结(二)LazyDynaBean -
zjfshowtime:
很好的办法,学习了。
ORA-28001: the password has expired -
ya654277yo:
哦,多谢分享
Apache整合Tomcat后get方式提交中文乱码问题解决 -
foolkeeper:
nice !!
jvm内存参数设定 -
tracy821:
谢谢了,找了好久才找到
关于Spring 声明式事务处理时,throws exception不回滚的问题
1,在一个数组的最后添加一个元素
这个技巧可以让你使用Length属性在一个数组的最后添加一个元素,因为Length属性比数组的最后一个元素的下标多1。这个方法和“push”方法是相同的。例如:
- var myArray = [];
- myArray[myArray.length] = 'New Element';
2,调整一个数组的长度
Length属性不是只读的,所以你可以设置Length属性的值。而且,你可以使用它增大或缩小数组的长度。例如:
- var myArray = [1,2,3];
- myArray.length // 3
- myArray.length = 2; //Delete the last element
- myArray.length = 20 // add 18 elements to the array; the elements have the undefined value.
3,使用“!!”把任意数据类型转换成Boolean
这个技术可以让你使用“!!”把任意数据类型(比如string, number或integer)转换成Boolean。例如:
- var myString = '23255';
- typeof myString; //String
- myString = !!myString;
- typeof myString //Boolean
4,把Number转换成String
这个技巧可以让你在number的结尾添加一个空的string来把number转换成string,例如:
- var mynumber = 234;
- typeof mynumber; //Number
- mynumber += '';
- typeof mynumber; //String
5,了解一个函数需要多少个变量
这是一个伟大的技巧,可以让你准确地知道一个函数需要多少个变量。例如:
- function add_nums(num1, num2){
- return num1 + num2;
- }
- add_nums.length // 2 is the amount of parameters expected by the function add_nums
6,使用“arguments”对象来了解一个函数接收到了多少个参数
这个技术可以让你使用“arguments”对象来了解一个函数接收到了多少个参数。例如:
- function add_nums(){
- return arguments.length;
- }
- add_nums(23,11,32,56,89,89,89,44,6); //this return the number 9
当你需要检查参数个数的有效性的时候,或者当你需要创建一个不确定参数个数的函数的时候,这个技巧是很有用的。
- function sum_three_nums( ){
- if(arguments.length!=3) throw new Error('received ' + arguments.length + ' parameters and should work with 3');
- }
- sum_three_nums(23,43); //Return the error message
- function sum_num(){
- var total = 0;
- for(var i=0;i<arguments .length;i++){
- total+=arguments[i];
- }
- return total;
- }
- sum_num(2,34,45,56,56);
7,把对象当成参数,来组织和改善函数
在现代Web开发中,对象最普遍的一个用途是把它们当成函数的参数。要记住函数参数的这个规则总是很困难的;但是,使用一个对象是十分有好处的,因为我们不必再担心参数的规则了。而且,它更有组织性,可以让用户更好的理解我们要做什么。这个方法可以让你把对象当成参数,来组织和改善函数。例如:
- function insertData(name,lastName,phone,address){
- code here;
- }
重构以后的代码是这样的:
- function insertData(parameters){
- var name = parameters.name;
- var lastName = parameters.lastName;
- var phone = parameters.phone;
- var address = parameters.address;
- }
当你要使用默认值的时候,它也是十分有用的。例如:
- function insertData(parameters){
- var name = parameters.name;
- var lastName = parameters.lastName;
- var phone = parameters.phone;
- var address = parameters.address;
- var status = parameters.status || 'single' //If status is not defined as a property //in the object the variable status take single as value
- }
现在,要使用这个函数十分的简单;我们可以用两种方式来发送数据:
- //Example 1
- insertData({name:’Mike’, lastName:’Rogers’, phone:’555-555-5555’,address:’the address’, status:’married’});
- //Example 2
- var myData = { name:’Mike’,
- lastName:’Rogers’,
- phone:’555-555-5555’,
- address:’the address’,
- status:’married’
- };
- insertData(myData);
8,函数就是数据
函数就是像strings或numbers那样的数据,我们可以把它们当成函数参数来传递它们,这可以创建十分令人惊讶而又“威风凛凛”的Web应用程序。这个方法是非常有用的,几乎所有的主流框架都使用了这个方法。例如:
- function byId(element, event, f){
- Document.getElementById(element).['on'+event] = f; //f is the function that we pass as parameter
- }
- byId('myBtn','click',function(){alert('Hello World')});
- Another example of functions as data:
- //Example 1
- function msg(m){
- Alert(m);
- }
- //Example 2
- var msg = function(m){ alert(m);}
这些函数几乎是完全相同的。唯一的区别是使用它们的方式。例如:第一个函数,在你声明它以前,你就可以使用它了;但是第二个函数只有声明以后才能使用:
- //Example 1
- msg('Hello world'); //This will work
- function msg(m){
- alert(m);
- }
- //Example 2
- msg('Hello world'); //Does not work because JavaScript cannot find the function msg because is used before is been declared.
- var msg = function(m){ alert(m)}
9,扩展本地对象
虽然一些JavaScript的领袖不推荐这个技术,但是它已经被一些框架使用了。它可以让你针对JavaScript API来创建一些辅助性的方法。
- //We create the method prototype for our arrays
- //It only sums numeric elements
- Array.prototype.sum = function(){
- var len = this.length;
- total = 0;
- for(var i=0;i<len ;i++){
- if(typeof this[i]!= 'number') continue;
- total += this[i];
- }
- return total;
- }
- var myArray = [1,2,3,'hola'];
- myArray.sum();
- Array.prototype.max = function(){
- return Math.max.apply('',this);
- }
10,Boolean
注意它们之间的区别,因为这会节省你调试脚本的时间。
- '' == '0' // false
- 0 == '' // true
- 0 == '0' // true
- false == 'false' // false
- false == '0' // true
- false == undefined // false
- false == null // false
- null == undefined // true
- true == 1 // true
- '' == null // false
- false == '' // true
发表评论
-
Javascript常用收集
2012-06-07 13:15 10761. javascript的with 当你有一 ... -
HTTP内容格式详细说明(协议) 2
2011-06-02 14:59 14706 响应头域 响应头域允许服务器传递不能放在 ... -
HTTP内容格式详细说明(协议)
2011-06-02 14:52 2047HTTP消息由客户端到服务器的请求和服务器到客户端的响应组 ... -
(转)读取js压缩为gzjs格式文件
2010-11-21 20:13 6855最近做的Ext项目Ext的插件都比较大,对于网页的浏览速度也是 ... -
网上搜集的正则表达式
2010-04-09 16:24 1006// 正数验证,零不行 ^(([1-9]+[0-9]*.{1 ... -
textarea文本自动转行(已解决)
2010-03-29 20:46 1959关于这个把<textarea>中的文本保存到数据库 ... -
修改HTTP header的属性来实现重定向、定时自动跳转
2010-03-28 18:13 40731、重定向 <% response.setStatus(Ht ... -
实现下拉列表单个option的disabled
2010-02-01 22:10 1145<style type="text/css&q ... -
javasript 实现file图片预览
2010-02-01 22:05 1527<cript type="text/javac ... -
浮动层实现
2010-01-26 13:53 1366<div id="Float21789&quo ... -
理解闭包的概念
2009-12-31 20:10 981最近在网上查阅了不少J ... -
小结JS callback 机制
2009-11-03 21:54 3120<script language="java ... -
用Javascript实现添加删除表格行
2009-10-30 23:32 1113function addRow(obj)02 {03 ... -
使用CSS处理长字符串
2009-10-30 22:23 1457长字符串的换行显示对中文而言,长字符串不是问题,浏览器本身可以 ... -
使用Javascript预览本地图片
2009-10-28 23:45 1140出于安全的考虑,现在的浏览器都不允许...src = file ... -
规规矩矩的写Javascript代码
2009-10-20 23:31 1229所谓规规矩矩的写Javascript代码,强调的就是不要把Ja ... -
跨域情况下自适应大小的iframe
2009-10-20 23:25 1194为了测试的方便,最好先设定host域名映射:127.0.0.1 ... -
使用Javascript预览本地图片
2009-10-20 23:17 1309很久很久以前,那时候还是IE的天下,使用Javascript预 ... -
HTML 表格打印
2009-09-29 16:39 10929打印web页面时,表格线设置有些不一样,否则打印出来的表格可能 ... -
JSTL-EL表达式
2009-09-28 10:17 1011JSTL-EL表达式 一个EL表达式包含变量和操作符 ...
相关推荐
javascript小技巧-js小技巧收集.docjavascript小技巧-js小技巧收集.doc
JavaScript小技巧全集
javascript小技巧javascript小技巧javascript小技巧javascript小技巧javascript小技巧
javascript小技巧
常用 javascript 小技巧
javascript小技巧,含有多种特效,实用功能
200多个javascript小技巧,带目录索引
1000个javascript小技巧
包含内容很多,javaScript小技巧 我个人看了收益很多
Javascript小技巧一箩筐,各种使用功能和事件响应机制。
JavaScript小技巧整理篇(非常全)
常用的一些javascript小技巧
40种javascript小技巧, javascript实例教程
JavaScript小技巧全集.doc
jspjs小技巧200个