JavaScript 变量,语句
定义变量的方式:
var 变量可以没有初始值,变量可以修改,变量可以覆盖,存在变量提升。
// 变量提升机制
console.log(name)// undefined var name = "Amos";
let 块级作用域,不允许重复声明,不存在变量提升,值在当前作用域内生效,在使用未定义的变量会报错。
console.log(name); // ReferenceError:name is not defined let name= "Amose"
const 变量必须有初始值,变量值不可改变,变量值不可覆盖,只有在当前作用域内有效。变量不可提升:
console.log(name); // ReferenceError:name is not defined const name= "Amose"
注意:一个常量不能和它所在的作用域的其它变量或函数有相同的名称
在函数内部不使用关键字声明变量就变成了犬决变量
var a = 'hello world'; function b(){ a = 'hello Amose' console.log(a) }; b() ; // 'hello Amose' console.log(a); // 'hello Amose'
语句:
if语句
当条件为真,if语句会执行一段语句,如果条件为假,则执行另一段语句。
if(true){ }else{ }
示例:使用if...else
if(条件){
条件为真的时候执行
}else{
条件为假的时候执行
}
使用else if
if(条件){
条件为真的时候执行
}else if(条件) {
条件为真的时候执行
}else{
条件为假的时候执行
}
注意:如果在条件中使用赋值运算,用元括号包裹赋值运算。
if((a=b)){ }
if...else的简写方式三目运算: (条件)?表达式1:表达式2;
do-while 语句
在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。
do{ // 需要执行的代码} while (条件)
实例:
do{ console.log("The number is"+ i) i++ } while (i<5)
while 语句
while 循环会一直循环代码块,只要指定的条件为true
while(条件){要执行的代码块}
while (i<10){ text += "数字是"+i; i++ }
for语句
同样的代码执行多次,并且每次的值都不同
语法:for (语句1;语句2;语句3) { 找执行的代码块 }
示例:循环一个数组
var array = [1,2,3,4,5,6,7,8]; for(var i=0; i< arry.length;i++){ console.log(i,array[i]) }
for-in语句
语句遍历对象的属性。
var person = {fname:"Bille",lname:"Gates",age:62} var text = “”; var x; for (x in person){ text += person }
循环数组
var arr = [1,2,3];
let index;
for(index in arr) {
console.log("arr["+index+"]"+arr[index])
}
label 语句
语句的前面有标签label 相当于定位符,语句部分可以使任意语句。
label
statement
break 和 continue 语句
break 语句 跳出 循环
break 语句 会中断循环,并继续执行循环之后的代码
for (i = 0; i < 10; i++){ if(i === 3){ break } text += "数字是"+i+ "<br>"; }
continue 语句 跳过 循环中的一个迭代
continue 语句 中断(循环中) 的一个迭代,如果发生指定的条件,然后继续循环中的下一个迭代。
本例跳过值3
for(i = 0; i < 10: i++){ if (i ===3){ continue; } text += "数字是" + i + "<bar>"; }
with 语句
with 语句是逐级的对象访问提供命名空间式的速写方式,也就是在指定的diam区域,直接通过节点名称调用对象。
var obj = {a:1,b:2,c:3}
// 改变 obj 中每一项的值,
obj.a = 2; obj.b = 3; obj.c = 4;
用with 的写法
with (obj){ a = 3; b= 4; c = 5; }
switch
switch 语句来选择要执行的多个代码模块之一。
语法:
switch(num){ case 1: 执行代码块 1 break; case 2: 执行代码 2 break; default: 与 case 1 和 case 2 不同时执行的代码。 }
JavaScript 变量,语句的更多相关文章
- JavaScript 变量
一,JavaScript 变量(存储信息的容器) 与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y). 变量可以使用短名称(比如 x 和 y),也可以使用描 ...
- javascript变量声明 及作用域
javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...
- 六天玩转javascript:javascript变量与表达式(2)
本系列内容为本人平时项目实践和参照MDN,MSDN,<javascript语言精粹>,<Effective Javascript>等资料,并且整理自己EverNote的日常积累 ...
- 六天玩转javascript:javascript变量与表达式(1)
说明 本系列属于进阶系列,语常用语法等不在本系列介绍范围之内. 在我刚开始做一个程序员并开发项目的时候,我总是喜欢使用开发语言的各种特性,每次m$发布新版C#的时候我总是会把开发者预览版下好,亲自体验 ...
- 深入探究javascript的 {} 语句块
今日学习解析json字符串,用到了一个eval()方法,解析字符串的时候为什么需要加上括号呢?摸不着头脑.原来javascript中{}语句块具有二义性,不加括号会出错,理解这种二义性对我们理解jav ...
- 声明(创建) JavaScript 变量
在 JavaScript 中创建变量通常称为"声明"变量. 我们使用 var 关键词来声明变量: var carname; 变量声明之后,该变量是空的(它没有值). 如需向变量赋值 ...
- 2015第35周五JavaScript变量
java语言里有一句很经典的话:在java的世界里,一切皆是对象. Javascript虽然跟java没有半点毛关系,但是很多会使用javascript的朋友同样认为:在javascript的世界里, ...
- javascript 变量 命名规范 变量的作用域
原文:javascript 变量 命名规范 变量的作用域 大家好,我是小强老师,今天讲解的是变量 变量 小时候我们学过 这个 应用题 : X+1=2; 问 X 等于几? 答案是 1 对了,很聪 ...
- 从头开始学JavaScript (六)——语句
原文:从头开始学JavaScript (六)--语句 一.条件分支语句:if 基本格式: if (<表达式1>){ <语句组1>}else if (<表达式2> ...
- 第一百零六节,JavaScript变量作用域及内存
JavaScript变量作用域及内存 学习要点: 1.变量及作用域 2.内存问题 JavaScript的变量与其他语言的变量有很大区别.JavaScript变量是松散型的(不强制类型)本质,决定了它只 ...
随机推荐
- vue项目1-pizza点餐系统8-登陆和注册结构
<template> <!-- 设置行 --> <div class="row mt-3"> <!-- 设置列 --> <di ...
- 通过runtime对类别进行属性的扩展
category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性 属性 其实就是 get/set 方法. 我们可以使用 objc ...
- Windows及Android倍速播放视频软件下载
目录 1. 更多推荐 2. 关键字 3. 按 4. 软件下载 4.1. IOS应用商店 4.2. 网盘下载 5. 软件介绍 5.1. PotPlayer(Windows) 5.2. MoboPlaye ...
- amazon-aws 使用 SNS 发送短信
jar-maven <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-sns --> <depen ...
- python模块与包的详解
一模块 1.什么是模块? 常见场景:一个模块包含python定义和声明的文件,文件名就是模块名字加上.py的后缀 2.为何要是用模块 如果你退出python解释器然后重新进入,那么你之前定义的函数或者 ...
- maven 查找依赖的办法
maven 你需的jar包名称 repository 比如我要做EJB,我要找jboss-j2ee.jar的Dependency 就在GOOGLE里输入 maven jboss-j2ee reposi ...
- linux运维、架构之路-HAProxy反向代理
一.HAProxy介绍 专业反向代理,支持双机热备支持虚拟主机,配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端节点出现故障, HAProxy会自动将该服务器摘除,故障恢复 ...
- spring中试用junit4测试
一:加入jar包 <!-- 单元测试 --> <dependency> <groupId>junit</groupId> <artifactId& ...
- 可用来修改bean对象的BeanPostProcessor
可用来修改bean对象的BeanPostProcessor 11.1 简介 BeanPostProcessor是Spring中定义的一个接口,其与之前介绍的InitializingBean和Dispo ...
- JSP文件的上传和下载
文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件.而且支持断点续传. 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场 ...