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- > ...
随机推荐
- Windows Server 2008 R2 IIS重装
背景描述: 在一个刚睡醒午觉后的下午,忽然收到客户反馈,说昨天开始应用特别卡,各种卡各种不好用,忽然想到上次说要优化服务器IIS配置还一直没弄,然后迷迷糊糊的就开始进行客户现场服务器IIS配置优化,涉 ...
- JS 中刷新页面的方法
整理了就是这几种,,有些在IE下面是不支持的,慎用... 1,history.go(0) 2,location.reload() 3,location=location 4,location.assi ...
- shopnc 商家中心添加打印商品二维码功能
需求中提到需要增加每一件商品可以打印,用于线下体验店实体商品的二维码标签,客人可以根据手机扫二维码功能进行购买 任务描述: 1.如附件实现”批量打印标签“和单个商品”打印“标签功能. 2.标签有两种” ...
- SQL 必备- ORACLE-SQSLSERVER-DB2时间函数及常见函数总结
SQLSERVER 篇: 一.时间函数 --getdate 获取当前时间 select getdate() --dateadd 原有时间加: 2013-02-17 13:20:16 此时间加12个月 ...
- Java Script to Read, Write, and Delete cookies
function writeCookie(name,value,days){ var expires = ""; if(days){ var date = new Date(); ...
- Qt之QTemporaryFile(文件名唯一,且可以自动删除)
简述 QTemporaryFile类是操作临时文件的I/O设备. QTemporaryFile用于安全地创建一个独一无二的临时文件.临时文件通过调用open()来创建,并且名称是唯一的(即:保证不覆盖 ...
- openjpa框架入门_项目 database 启动project 初始化(三)
mysql数据库安装好,这里不多说,现在来执行sql脚本 http://download.csdn.net/detail/shenhonglei1234/6019677 将下载好的脚本后缀名“open ...
- (一)boost库之日期、时间
(一)boost库之日期.时间 一.计时器 计时器,通常在一个项目中统计一个函数的执行时间是非常实用的. #include <boost/timer.hpp> void PrintU ...
- atomic_compare_exchange
atomic_compare_exchange 分为两个版本 atomic_compare_exchange_strong 和 atomic_compare_exchange_weak,语义如下 bo ...
- linux之SQL语句简明教程---表格连接
现在我们介绍连接 (Join) 的概念.要了解连接,我们需要用到许多我们之前已介绍过的指令.我们先假设我们有以下的两个表格, Store_Information 表格 Store_Name Sales ...