Javascript基本概念(语句和函数)
语句
for语句
- for语句中的初始化表达式,控制表达式和循环后表达式都是可选的,将这三个表达式省略,就会创建一个无线循环。
- ECMAScript中不存在块级作用域,因此在循环内容部定义的变量也可以在外部访问到。
//以下是for语句的运用 /* 例一 */
var i,j;
for(i = 0, j = 10 ; i < 10 ; i++, j--)
sum += i * j; /* 返回链表的最后一个节点对象 */
function tail(o) {
for(; o.next; o = o.next) /* empty */ ;
return o;
}
for-in语句
主要用来枚举对象的属性(数组也是对象的一种)
var obj = {
a:'this is a',
b:'this is b',
c:'this is c'
};
var arr = [
'arr1',
'arr2',
'arr3'
]; for(var o in obj){
console.log(o + ':' + obj[o]);
}
/*结果
a:this is a
b:this is b
c:this is c
*/ for(var k in arr){
console.log(k + ':' + arr[k]);
}
/*结果
0:arr1
1:arr2
2:arr3
*/
laber,break和continue语句
label语句可以在代码中添加标签,以便将来使用,通常都要与for语句等循环语句配合使用,配合break和continue可以实现不止一次的退出循环操作(普通的break和continue只能退出一次循环)
以下是代码的例子
var num = 0;
outermost:
for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if (i == 5 && j == 5){
break outermost;
}
num++;
}
}
alert(num); //55
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if (i == 5 && j == 5){
continue outermost;
}
num++;
}
}
alert(num); //95
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if (i == 5 && j == 5){
break;
}
num++;
}
}
alert(num); //95
//-------------------------------------------------------------
var num = 0;
outermost:
for(var i=0; i<10; i++){
for(var j=0; j<10; j++){
if (i == 5 && j == 5){
continue;
}
num++;
}
}
alert(num); //99
switch语句
Javascript中的switch语句很灵活,你可以用它来处理多分支的情况。(注意每个case语句块后都要加上break,除非有意为之,否则执行完一个case语句块后会继续往下执行,知道遇到break,使用return也可以跳出switch语句)
代码如下:
var num = 25;
switch (true) {
case num < 0:
alert('Less than 0.');
break;
case num >= 0 && num <= 10:
alert('Between 0 and 10.');
break;
case num > 10 && num <= 20:
alert('Between 10 and 20.');
break;
default:
alert('More than 20.');
}
//结果是输出 More than 20.
函数
提示
语句 return; 返回值是undefined;
理解参数
- js函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,所有传递进来的参数都可以通过arguments对象来访问,该对象类似数组但不是Array的实例,如第一个参数可以通过arguments[0]访问到,以此类推。
- arguments对象的length属性可以获知有多少个参数传递给了函数。也正是因为有这个属性,我们可以很方便的模拟js不具备有的函数重载。如:
function doAdd() {
if(arguments.length == 1) {
alert(arguments[0] + 10);
} else if (arguments.length == 2) {
alert(arguments[0] + arguments[1]);
}
}
doAdd(10); //20
doAdd(30, 20); //50
- arguments对象可以与命名参数一起使用,且他们的值保持同步
Javascript基本概念(语句和函数)的更多相关文章
- Javascript关键字,条件语句,函数及函数相关知识
关键字 条件语句 作用域 回调 关键字 根据规定,关键字是保留的,不能用作变量名或函数名. 下面是一些ECMAScript关键字的完整列表. break ,case,catch,continue,de ...
- JavaScript基本概念(二)
JavaScript 基本概念(二) 操作符和语句 目录 操作符 一元操作符 位操作符 布尔操作符 乘性操作符 其他操作符 语句部分 说起操作符,回忆下上一篇文章末尾说的话. 操作符 一元操作符 ++ ...
- JavaScript语言精粹 笔记02 函数
函数函数对象函数字面量调用参数返回异常给类型增加方法递归作用域闭包回调模块级联套用记忆 函数 1 函数对象 在JS中函数就是对象.对象是“名/值”对的集合并拥有一个连接到原型对象的隐藏连接.对象字 ...
- javascript 核心概念(1)-数据类型
语法 (1)到现在为止,大多数浏览器也还是支持到ECMAScript 第三版的标准. 核心概念就是一个语言的基本工作原理,涉及语法,操作符,数据类型. (2)javascript的一切--变量,函数名 ...
- javascript进阶课程--第一章--函数
javascript进阶课程--第一章--函数 学习要点 了解内存管理 掌握全局函数的使用 知识点 基本类型和引用类型 基本类型值有:undefined,NUll,Boolean,Number和Str ...
- javascript学习(二)--函数
一.在JavaScript中,定义函数的方式如下: 1.第一种方式: function abs(x) { if (x >= 0) { return x; } else { return -x; ...
- JavaScript中if语句优化和部分语法糖小技巧推荐
前言 在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,在某个代码块使用很多if else时,代码会显得较为冗余,阅读起来不够清晰. 除 ...
- JavaScript 中对变量和函数声明的“提前”
变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果使用未经声明的变量或 ...
- Javascript闭包和C#匿名函数对比分析
C#中引入匿名函数,多少都是受到Javascript的闭包语法和面向函数编程语言的影响.人们发现,在表达式中直接编写函数代码是一种普遍存在的需求,这种语法将比那种必须在某个特定地方定义函数的方式灵活和 ...
- JavaScript中常用语句
1.document.write( " "); 输出语句 2.JS中的行注释为:// 块注释:/**/ 3.传统的HTML文档顺序是:document- >html- > ...
随机推荐
- linux系统学习笔记:文件、目录、用户
本篇主要从stat函数开始,逐个说明stat结构的每一个成员,以此来了解文件的所有属性.同时将说明修改这个属性的各个函数. 一.文件 使用stat函数族得到和文件有关的信息结构. #include & ...
- C#生成缩略图的方法
1.需要添加应用System.Drawing.dll 2.命名空间 using System.IO; using System.Drawing; using System.Drawing.Imagin ...
- 在world中批量调整图片的大小
1.Alt+F8调出vb宏 创建一个宏名字,setsize 粘贴代码后保存关闭. Sub setsize() ' ' setsize 宏 ' ' Dim iSha As InlineShape Fo ...
- CSS发抖
纯CSS发抖 当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果. 通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器: 规定动画的名称 规定动画 ...
- PHP基础温习之echo print printf sprintf print_r var_dump的用法与区别
一.echoecho() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void的,并不 ...
- fltk demo
背景: 基于microwindows nano-X上面运行fltk demo,是nano-X API 预留的fltk接口. 运行环境及程序版本: microwindows-0.89pre8 (源文件必 ...
- 在Nginx上配置ThinkPHP项目
前段时间用Apache配合TP开发了一个小型网站,也算是我使用TP的第一次实战.我习惯使用pathinfo模式,本地运行一切正常,然而部署到服务器上时,由于对方使用的是Nginx,默认是不支持Thin ...
- SQL表名,应该用复数还是单数
用单数形式更佳,理由如下: 1.概念直观. 你有一个袋子,里面有好多个苹果,你会说这是个苹果袋.但无论里面有0,1,百万个苹果,它依然是个袋子.表也是如此,表明需要描述清楚,表里面包含的对象,而非有多 ...
- firebug加载不了js脚本文件问题
转载自:http://tieba.baidu.com/p/1008322286 现象: 页面中有加载js文件,但是firebug却提示: 本页面不包含 Javascript 如果 <scr ...
- linux之模拟简单登录的脚本
脚本如下: 运行结果: