发表于: 2017-05-23 20:53:52
1 1003
今日完成:
今天做了小课堂,导致昨天定的计划没完成。
现在公司信息模块做了一半。
明日计划:
完成公司信息、新增公司模块。
问题:
暂无。
收获:
对ng-options用法了解更多;
a.id as a.name for a in obj
其中: obj=[{id:1;name:‘姓名’},......]
a.id 就是ng-modle 获取的值; a.name 是select下拉菜单显示的值;a就是获取到的对象。
之前我是用最简单的方法获取到对象,然后自己过滤显示值,要麻烦一些。
小课堂内容:
return的用法?
小课堂【成都第145期】
分享人:何华飒
目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1.背景介绍
return顾名思义,英文翻译含义就是回转,返回。
在javaScript函数中,return表示被调函数返回到主调函数或者说上一级继续执行,返回时可附带一个返回值,这个值将作为函数的结果。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。 如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否, 主调函数可以通过返回值判断被调函数的执行情况。
2.知识剖析
关于return的返回值
返回值通常是变量、表达式、对象、布尔值等等,也可以不设返回值。通常有四种情况:
retrun true; 返回正确的处理结果。
return false;分会错误的处理结果,终止处理。
return;把控制权返回给上级。
retrun 变量、表达式、对象; 将返回值作为函数结果,并返回上一级。
<pre>
<code>
function a(){
return 10;//这个时候,函数a的值会等于10,并且函数中下面的内容不再执行
document.write(50);//由于上面已经return了,这条代码不会执行
}
</code>
</pre>
<pre>
<code>
function a( b, c ) {
return b + c;
}
//那么调用:
var abc = a(5, 80); //这个时候,abc这个变量的值会是85
function a( b, c ) { //那么页面会输出85,但abc是没有值的;
document.write( b + c );
}
</code>
</pre>
return true/false :同意或阻止默认行为
如果想要取消默认的事件行为,可以使用return false;
<a href="http://www.baidu.com" onclick=" return fun()">demo1</a>
<script type="text/javascript">
function fun(){
location.href="http://www.sina.com.cn";
return false;
}
</script>
3.常见问题
若用在for循环中用到了return,还会执行下一次循环吗?
4.解决方案
<script>
function counter() {
for (var count = 1;count<10; count++) {
document.write( " "+count + "Animal" +" "); // until 5
if (count === 5) {
return;
}
document.write(" "+count + "Boy"+" "); // until 4 (因为在5的时候,就已经return了)
}
document.write(count + "Cat"); // never appears (因为这个c写在了for循环的外面)
}
counter();
</script>
5.编码实战
demo
6.扩展思考
除了return,还有没有别的方式中断for循环?
break和continue也是可以中断for循环的
break
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。 由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。 如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。
<script>
function counter() {
for (var count = 1;count<10; count++) {
document.write( " "+count + "Animal" +" "); // until 5
if (count === 5) {
break;
}
document.write(" "+count + "Boy"+" "); // until 4 (因为在5的时候,就已经return了)
}
document.write(count + "Cat"); // never appears (因为这个c写在了for循环的外面)
}
counter();
</script>
continue
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。 continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
<script>
function counter() {
for (var count = 1;count<10; count++) {
document.write( " "+count + "Animal" +" "); // until 5
if (count === 5) {
continue;
}
document.write(" "+count + "Boy"+" "); // until 4 (因为在5的时候,就已经return了)
}
document.write(count + "Cat"); // never appears (因为这个c写在了for循环的外面)
}
counter();
</script>
迭代
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。 每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值
Js中的迭代语句又叫循环语句,声明一组要反复执行的命令,直到满足某些条件为止。
ECMAScript 中提供了4种迭代语句:
do-while 语句
while 语句
for-in 语句
for 语句
7.参考文献
参考1: ECMAScript break 和 continue 语句
href="http://www.w3school.com.cn/js/pro_js_statements_break_continue.asp"
参考2: js中return;、return true、return false;区别
href="http://www.cnblogs.com/weiwang/archive/2013/08/19/3268374.html"
8.更多讨论
由迭代你可以会想到递归?两者的区别?
href="http://www.guokr.com/question/528682/"
评论