Java Script 里return的用法和意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Script 里return的用法和意思相关的知识,希望对你有一定的参考价值。
我是一个Java Script的初学者。
有那位高人可以解释一下Java Script中return的用法和意思。
谢谢。
好答案,再加分^^
return是只从当前方法(函数)中返回,后面可以接参数,表示返回的值
比如
function a()
return 1;
那么
a()的值就是1
return在一些事件处理中有时候也有用到
比如经常看到在html标签里 onClick="if(xxx)return false;"
这里return false表示点击事件无效
lz有具体问题不清楚可以直接发消息问我 参考技术A Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。
在return语句的各类文章中,大多仅仅介绍了return语句用于有返回值(非void返回值)的方法中。而很少或没有介绍return语句在vodi返回值方法中的运用。
return语句用在非void返回值类型的方法中,不但能返回基本类型,还可以返回(包括用户自定义类的)对象。
下面通过一个简单例子说明一下:
/**
* Created by IntelliJ IDEA.
* User: leizhimin
* Date: 2007-12-3
* Time: 8:54:28
* Java中的return语句使用总结
*/
public class TestReturn
public static void main(String args[])
TestReturn t = new TestReturn();
t.test1();
t.test2();
/**
* 无返回值类型的return语句测试
*/
public void test1()
System.out.println("---------无返回值类型的return语句测试--------");
for (int i = 1; ; i++)
if (i == 4) return;
System.out.println("i = " + i);
/**
* 有返回值类型的return语句测试
* @return String
*/
public String test2()
System.out.println("---------有返回值类型的return语句测试--------");
return "返回一个字符串";
运行结果:
---------无返回值类型的return语句测试--------
i = 1
i = 2
i = 3
---------有返回值类型的return语句测试--------
Process finished with exit code 0
参考资料:http://www.programfan.com/article/3266.html
参考技术B JAVASCRIPT在事件中调用函数时用return返回值实际上是对window.event.returnvalue进行设置。而该值决定了当前操作是否继续。
当返回的是true时,将继续操作。
当返回是false时,将中断操作。 参考技术C Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。 参考技术D return 是返回函数操做值的可一是true/false
或是你自己的函数值
function oTest(val)
var val+=val
return val;
默认情况下有是以true返回..false一般在用做屏蔽某些功能的时候用到.
JavaScript中return的用法详解
JavaScript中return的用法详解
最近,跟身边学前端的朋友了解,有很多人对函数中的this的用法和指向问题比较模糊,这里写一篇博客跟大家一起探讨一下this的用法和指向性问题。
1定义
this,从字面意思来看就是‘这个’,官方定义:在 ECMAScript 中,要掌握的最重要的概念之一是关键字 this 的用法,它用在对象的方法中。关键字 this 总是指向调用该方法的对象,可以看下下面的示例代码:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 </head>
7 <body>
8 <div id="div1">你好,this</div>
9 <script>
10 var odiv=document.getElementById(‘div1‘);
11 odiv.onmouseover=function(){
12 alert(this);
13 }
14 </script>
15 </body>
16 </html>
示例图片:
这里,div标签通过事件调用函数。所以,这里的this指向HTML的div标签;
2使用this的意义
那为什么这里使用 this 而不是直接使用odiv呢?因为在实例化对象时,总是不能确定开发者会使用什么样的变量名。使用 this,即可在任何多个地方重用同一个函数。看不懂定义的话我们来看下面的栗子:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 </head>
7 <body>
8 <script>
9 function showname() {
10 alert(this.name);
11 };
12 var obj1 = new Object;
13 obj1.name = "obj1";
14 obj1.showname = showname;
15 var obj2 = new Object;
16 obj2.name = "obj2";
17 obj2.showname = showname;
18 obj1.showname(); //输出 "obj1"
19 obj2.showname(); //输出 "obj2"
20 </script>
21 </body>
22 </html>
示例图片:
这里对每个对象都附上了showname方法,这里使用this的话就不用每一个对象都重新写一个方法,有利于方法的复用,减少无用的代码。
3规律与练习
示例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> function showname() { alert(this); }; showname(); </script> </body> </html>
规律2:通过对象.函数名()调用的:this指向这个对象;本例的对象是狭义的对象(即object);标签对象的栗子见本博客开头的栗子
练习2:示例代码
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <script> 9 function showThis() { 10 alert(this); 11 }; 12 var obj1 = new Object; 13 obj1.name = "obj1"; 14 obj1.showThis = showThis; 15 obj1.showThis(); 16 </script> 17 </body> 18 </html>
示例图片:
(3)规律3与练习3
规律3:函数作为数组的一个元素,通过数组下标调用的:this指向这个数组
练习3:示例代码
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <script> 9 function showname() { 10 alert(this); 11 }; 12 var arr = [showname,1,2,3]; 13 arr[0](); //this--->数组arr 14 </script> 15 </body> 16 </html>
示例图片:
可以看出,弹窗就是那个数组的内容;这里指向数组
4规律4与练习4
规律4:函数作为window内置函数的回调函数调用:this指向window
练习4:示例代码:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <script> 9 function showname() { 10 alert(this); 11 }; 12 setTimeout(showname,1000); 13 </script> 14 </body> 15 </html>
执行效果图:
5规律5与练习5
规律5:函数作为构造函数,用new关键字调用时:this指向新new出的对象
练习5:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> function Person(a){ this.name=a; } var zhangsan = new Person("zhangsan"); console.log(zhangsan); alert(zhangsan.name); </script> </body> </html>
执行效果:
4综合练习
练习1:
var obj1 = { name:‘obj1‘, arr:[setTimeout(func,3000),1,2,3] } document.getElementById("div").onclick = obj1.arr[0]; //函数最终调用者:setTimeout,符合规律⑤ this--->window
练习2:
var obj2 = { name:‘obj1‘, arr:[func,1,2,3] } document.getElementById("div").onclick = obj2.arr[0](); //函数最终调用者:数组下标,符合规律③ this--->arr
练习3
var obj3 = { name:‘obj1‘, arr:[{name:‘arrObj‘,fun:func},1,2,3] } document.getElementById("div").onclick = obj3.arr[0].fun(); //函数最终调用者:{name:‘arrObj‘,fun:func},符合规律② this--->obj
练习4
<body> <div id="div1">点我呀</div> <script> var div = document.getElementById("div1"); function showname() { alert(this); }; div.onclick = showname(); </script> </body>
这里你会发现你并没有点击,就已经弹窗了,而且指向window。对象通过事件调用的只能是一个自写的匿名函数,行内js代码除外。
例:div.onclick=function(){执行语句};
本次分享就到这里
谢谢大家的观看
希望能对大家有所启发
有更好的方法或不同的意见请在留言区跟我交流
以上是关于Java Script 里return的用法和意思的主要内容,如果未能解决你的问题,请参考以下文章