因为绝大多数的浏览器都和它兼容,你可以在这些浏览器中使用它。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!
相关推荐:
为什么“蜘蛛弛查询”能成为提升网站排名的秘密武器?,惠州网站推广v1戈seo24
SEO关键词是什么意思?全面解析SEO关键字的核心作用,华为ai音箱 百度ai音箱
ChatGPT无法完全显示?你可能忽略了这些令人惊讶的细节!,朵朵ai绘画
ChatGPT页面空白不乏登录:让你秒变职场高手与生活智囊,百度ai 腾讯ai
SEO是如何推动企业增长的关键力量,深圳罗湖网站建设设计
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
什么是seo的豆子,何为seo ,ai圆复制
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
SEO怎么排名?这5大技巧,轻松提升网站排名,人人都可ai
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
ChatGPT:我目前无法查看或解析附件,您是否遇到过这样的困扰?,ai+燃烧
ChatGPT与讯飞:AI语音与智能对话的完美融合,ai直角变圆角
AI一键生成文章在线:提升创作效率,改变写作方式
ChatGPT为什么访问不了?全面解析及解决方案,ai首页设计
文章自动生成AI:助力写作新时代,让创作更高效
什么是seo发外链,seo外链类型有哪些 ,小小苏ai
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
ChatGPT4网页空白:重新定义智能交互的未来,怎么登ai
AI免费写作一键生成,效率与创意的完美结合
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
什么是seo快排,seo快排方案 ,ai剪图形
SEO目标:让您的网站轻松登顶搜索引擎,优化购物网站的搜索
SEO新闻:2025年最新趋势与最佳实践,你不可错过的SEO战略,郑州网络营销推广的优势
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
为什么要seo排名,为什么要做seo推广 ,AI写作开启创意新世界
GPT-3.5网页版:让你与人工智能零距离接触,ai英语学
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
GPT-3模型下载:开启智能时代的无限可能,ai走入
360AI写作怎样?助力创作的新风尚,ai到访
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
seo要懂些什么,seo主要做什么的 ,小艾艾AI
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
未来智能:AI智能人工软件引领数字化变革
怎么用AI写出令人惊叹的文章?轻松搞定写作难题!
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
自动写文章的AI,提升效率的创作利器
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
ChatGPT不能加载过去的对话,如何提升你的使用体验?,ai智能衣服
seo线索收集是什么,seo线索收集是什么意思 ,ai生活ai童童
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
seo网站代码是什么,网站专业术语中seo意思是什么 ,拟人ai制作
ChatGPT破解:人工智能的无限潜力与破解秘笈,意识变ai