JavaScript初学者需要了解10个小技巧_javascript技巧

因为绝大多数的浏览器都和它兼容,你可以在这些浏览器中使用它。JavaScript被接受的相当快,因为它是如此的简单,而且使用范围相当广泛。许多程序员过去常常认为JavaScript是一门“玩具语言”,但是,AJAX进入市场后表现出了完全相反的一面,它让JavaScript展现出了完全不同的能力和功能。
由于这个发明的出现,程序员现在已经可以创建带有桌面应用程序效果的Web应用程序了,这是很有益处的,因为数据可以更快地改变。这是一些迷你技巧,它们可以帮助初学者更好地使用JavaScript。JavaScript的使用范围相当广泛,而且还有这么多的风格,所以它可以有很多的技巧。另外,虽然它很多的编程方法,但是我只挑选了10个技巧,我认为这些技巧对初学者理解JavaScript来说是很好的的起点。
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所有功能的冰山一角,但是这是一个开始!请不要客气,留下你的评论,问题,额外的技巧或疑虑吧,但是请记住,这是一篇针对初学者的文章!!我希望能收到一些开发者同行的来信!Enjoy!

时间: 2024-10-03 06:57:11

JavaScript初学者需要了解10个小技巧_javascript技巧的相关文章

基于JavaScript实现简单的随机抽奖小程序_javascript技巧

对于抽奖这样的小程序使用诸如VB,Delphi等工具来实现会比较的方便,由于本人机器上没有装这样的应用程序,所以只能另寻其道.为了使抽奖程序能够无需配置平台直接可以在任何一台机器上运行,开发工具和编译运行工具也能够经可能简单(诸如text文本即可编辑,window系统自带的浏览器即可编译运行的情况),决定尝试使用javascript来做.本人对javascript的研究不深,平时主要用于网站开发中对来自客户端的数据进行有效性判断(基于安全性的考虑,安全性要求高的网站尽量使用服务器端语言对数据有效

基于javascript实现句子翻牌网页版小游戏_javascript技巧

本文实例为大家分享了js实现句子翻牌网页版小游戏,供大家参考,具体内容如下 效果图: 实现思路: 考察打字能力和记忆能力的益智小游戏. 1.会先把一段文字显示 2.一小段时间后显示背面 3.输入框输入文字与文字全部对应显示正面 具体代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>

5个可以帮你理解JavaScript核心闭包和作用域的小例子_javascript技巧

这里有5个小脚本,有助于你真正理解JavaScript核心–闭包和作用域.没有在控制台运行之前,尝试回答每个案例中会弹出什么内容,然后你可以创建一个测试文件去核对你的答案.你准备好了吗? 1. 复制代码 代码如下:  if (!("a" in window)) {      var a = 1;  }  alert(a); 2. 复制代码 代码如下:  var a = 1,      b = function a(x) {          x && a(--x);  

javascript制作sql转换为stringBuffer的小工具_javascript技巧

sql转换为stringBuffer的小工具,dao层拼接sql很麻烦,用这个小工具可以快速拼接,把写好的sql在sql工具中格式化好,然后复制进去就可以了 演示地址:http://runjs.cn/detail/fj14tpyu    有点丑,建议全屏查看,不过你下载下来可以自己修改 代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <

JavaScript自动设置IFrame高度的小例子_javascript技巧

复制代码 代码如下: function SetIFrameHeight(down) {         var Sys = {};         var ua = navigator.userAgent.toLowerCase();         var s;         (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :         (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox =

Javascript中this关键字的一些小知识_javascript技巧

Javascript应该是现在最流行的跨平台语言之一,一直在玩前端的一些有意思的东西,发现竟然没有掌握好这门语言.有点舍本逐末,于是想趁着现在这有空的时候好好补充一点遗漏的东西. this的隐性绑定 一开始这是我很迷惑的东西,刚开始看到的时候,不理解.而后,在相似的情况下,又能用类似的方法解决同样的问题.便试着理清这其中的知识,方便于查找. 这是一个Javascript语言上设计的错误,但是似乎这个错误是不可避免的,函数是对象,数组是对象等等.引用<Javascript: The Good Pa

javascript检测页面是否缩放的小例子_javascript技巧

复制代码 代码如下: /* * zoomCheck */jQuery(function($){  var dCheck = $("#zoomCheck");  if(dCheck.size() != 0){    return;  }  dCheck = $("<span></span>").attr('id',"zoomCheck").css({    position :'fixed',    left : '5px'

用Javascript来生成ftp脚本的小例子_javascript技巧

程序也很简单,就是遍历一下本地目录,然后产生一堆ftp命令. 复制代码 代码如下: function matchDemo(strFolderName) { var s; var re = /200\d{5}/ig; s = strFolderName.match(re): return(s): } function init() { strScript ="open 192.168.1.32 \n"; strScript+="user sybase 111111 \n&quo

javascript初学者常用技巧_javascript技巧

本文实例讲解了javascript初学者常用的一些技巧.分享给大家供大家参考之用.具体如下: 一.Javascript程序存放位置 HTML的<body></body>里面 HTML的<head></head>里面 *.js文件里面 二.标准格式 放在HTML的<body></body>里面,当浏览器载入到Body部分的时候就开始执行Javascript <html> <head></head> &