ES02 变量、数组、对象、方法
1 变量
1.1 变量的声明
利用var关键字来声明变量,例如:
var a = 100;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var a = 100;
function test01() {
alert("变量a的值为:" + a);
}
</script> </head>
<body>
<p id="testP">Hello Boy</p> <button id="test" onClick="test01()">测试按钮</button><br /> <script> </script> </body>
</html>
1.2 变量的作用域
1.2.1 局部作用域
在函数中声明的作用域叫做局部作用域
1.2.2 全局作用域
在函数之外声明的作用与叫做全局作用域
1.2.3 区别
局部作用域中可以获取全局变量,但是局部变量只能在局部作用域中使用,即:局部变量只能在声明它的方法中使用

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var a = "全局变量a";
function test01() {
var b = "局部变量b";
alert("test01方法 -> " + a);
alert("test01方法 -> " + b);
}
function test02() {
alert("test02方法 -> " + a);
alert("test02方法 -> " + b);
}
</script> </head>
<body>
<p id="testP">Hello Boy</p> <button id="test01" onClick="test01()">测试按钮01</button><br />
<button id="test02" onClick="test02()">测试按钮02</button> <script> </script> </body>
</html>
坑01:在局部作用域中如果使用的变量未i进行声明操作就会到全局中去寻找对应的全局变量,如果没找到就会创建一个全局变量

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var a = "全局变量a";
function test01() {
b = "Hello Boy"
alert("test01方法 -> " + a);
alert("test01方法 -> " + b);
}
function test02() {
alert("test02方法 -> " + a);
alert("test02方法 -> " + b);
}
</script> </head>
<body>
<p id="testP">Hello Boy</p> <button id="test01" onClick="test01()">测试按钮01</button><br />
<button id="test02" onClick="test02()">测试按钮02</button> <script> </script> </body>
</html>
2 数组
2.1 数组的声明
2.1.1 利用 Array 对象进行声明
var list01 = new Array();
2.1.2 利用 [ ] 进行声明
var list01 = [];
2.2 数组的赋值
数组名[数组元素索引]
list01[0] = "warrior";
list01[4] = "fury";
坑01:中间为进行初始化的数组元素自动赋值为 undefined
2.3 数组的声明和赋值
2.3.1 利用 Array 对象实现
var list01 = new Array("warrior", "fury", "重庆火锅");
2.3.2 利用 [ ] 实现
var list01 = ["warrior", "fury", "重庆火锅", "小面"];
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script>
var list01 = ["warrior", "fury", "重庆火锅", "小面"];
function test01() {
for (var i = list01.length - 1; i >= 0; i--) {
console.log(list01[i]);
}
}
function test02() { }
</script> </head>
<body>
<p id="testP">Hello Boy</p> <button id="test01" onClick="test01()">测试按钮01</button><br />
<button id="test02" onClick="test02()">测试按钮02</button> <script> </script> </body>
</html>
3 对象
3.1 对象的声明
3.1.1 利用 Object
var obj = new Object()
3.1.2 利用 { }
var obj = {};
3.2 对象的赋值
obj.name = "warrior";
obj.address = "重庆市";
3.3 对象的声明和赋值
3.3.1 利用Object
var obj = new Object({
name: "warrior",
address: "重庆",
age: 123
});
3.3.2 利用 { }
var obj = {
name: "warrior",
address: "重庆"
};
4 方法
function onCompute() {
alert("hello boy");
var a = document.getElementById("a");
var b = document.getElementById("b");
document.getElementById("result").value = Number(a.value) + Number(b.value);
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script> function onCompute() {
alert("hello boy");
var a = document.getElementById("a");
var b = document.getElementById("b");
document.getElementById("result").value = Number(a.value) + Number(b.value);
} function test01() {
}
function test02() { }
</script> </head>
<body>
<input type="number" id="a" placeholder="加数01" />
<span> + </span>
<input type="number" id="b" placeholder="加数02" />
<span> = </span>
<input type="number" id="result" placeholder="结果" />
<button id="compute" onclick="onCompute()">计算</button>
<hr /> <button id="test01" onClick="test01()">测试按钮01</button><br />
<button id="test02" onClick="test02()">测试按钮02</button> <script> </script> </body>
</html>
4.1 有参方法
坑01:由于JavaScript是动态类型语言,所以在定义方法时的形参不用指定类型,用合法的变量名指明就行啦
function test01(a, b) {
alert(a);
alert(b);
}
4.2 带返回值的方法
function test02(a, b) {
alert(test03(a, b));
}
function test03(a, b) {
return a + b;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>JavaScriptTest</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet"> <!-- <script src="/js/jquery.js"></script> -->
<script src="http://cdn.static.runoob.com/libs/jquery/2.0.0/jquery.min.js"></script>
<script> function onCompute() {
alert("hello boy");
var a = document.getElementById("a");
var b = document.getElementById("b");
document.getElementById("result").value = Number(a.value) + Number(b.value);
} function test01(a, b) {
alert(a);
alert(b);
}
function test02(a, b) {
alert(test03(a, b));
}
function test03(a, b) {
return a + b;
}
</script> </head>
<body>
<input type="number" id="a" placeholder="加数01" />
<span> + </span>
<input type="number" id="b" placeholder="加数02" />
<span> = </span>
<input type="number" id="result" placeholder="结果" />
<button id="compute" onclick="onCompute()">计算</button>
<hr /> <button id="test01" onClick="test01('warrior', '重庆')">测试按钮01</button><br />
<button id="test02" onClick="test02(1, 2)">测试按钮02</button> <script> </script> </body>
</html>
4.3 实例效果

ES02 变量、数组、对象、方法的更多相关文章
- Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象,
Objective-C 类,实例成员,静态变量,对象方法,类方法(静态方法),对象, 一.类 在ios中,类的声明和实现时分离的,也就是说不能写在同一个文件中,声明放在 .h文件中,实现放在 .m 文 ...
- javascript变量 数组 对象
一 变量 1.全局变量和局部变量 在JavaScript中同一个变量可以反复赋值,而且可以是不同类型的变量,但是要注意只能用var声明一次.这种变量类型不固定的语言称为动态语言,与之对应的静态语言,如 ...
- JavaScript数组对象方法
数组的方法:首先,数组的方法有数组原型方法,也有从object对象继承来的方法.这里只详细说明一下数组的原型方法. (1)join:把数组中的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 例 ...
- jQuery根据元素值或元素下标来删除一个数组元素及数组对象方法列表
在前提不知道b在这个数组的下标,删除b这个元素 var arrList = ['a','b','c','d']; arrList.splice(jQuery.inArray('b', ...
- Array数组对象方法
Array 对象方法 方法 描述 concat() 连接两个或更多的数组,并返回结果. copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中. entries() 返回数组的可迭 ...
- foreach-- for循环的增强型:for(类型 变量 : 数组对象) { 使用变量 }
/* * foreach:增强for循环,一般用于遍历集合或者数组 * 格式: * for(元素的类型 变量 : 集合或者数组对象) { * 可以直接使用变量; * } 注意:在增强for循环中不能修 ...
- js数组对象方法
- js对数组对象的操作以及方法的使用
js对数组对象的操作以及方法的使用 如何声明创建一个数组对象: var arr = new Array(); 或者 var arr = []; 如何移除所有数组中数据? arrayJson.dataL ...
- java基础(6)--数组和方法
数组 1. 什么是数组? 数组是相同数据类型的元素组成的集合.这些元素按线性顺序排列.所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素:除最后一个元素外,每一个元素都有唯一的后继元素.(“ ...
- js遍历数组对象和非数组对象
//---------for用来遍历数组对象 var i,myArr = ["a","b","c"]; ; i < myArr.len ...
随机推荐
- lamp script
centos6 ,不区分32位,64位, 要求机器可以上外网. 支持lamp 和 lnmp, mysql支持5.1和5.6两个版本,php支持5.3和5.6两个版本,apache2.2,nginx1. ...
- L124
I have a toothache because there is a cavity in one of my teeth. I founded an orphanage last year an ...
- CANopenSocket 测试
/************************************************************************* * CANopenSocket 测试 * 说明: ...
- MySql数据库约束
<MySQL技术内幕:InnoDB存储引擎>本书从源代码的角度深度解析了InnoDB的体系结构.实现原理.工作机制,并给出了大量实践,本着将书读薄的思想,循序渐进的记录对本书学习的读书笔记 ...
- Python 2.7_多进程获取简书专题数据(一)
学python几个月了正好练练手,发现问题不断提高,先从专题入手,爬取些数据,一开始对简书网站结构不熟悉,抓取推荐,热门,城市3个导航栏,交流发现推荐和热门是排序不同,url会重复,以及每个专题详情页 ...
- ACM学习历程—Hihocoder 1139 二分·二分答案(bfs)
http://hihocoder.com/problemset/problem/1139 这题提示上写的是二分,但是感觉不二分应该也可以,至少题目是AC的... 二分的思想就是二分答案的值,看能不能在 ...
- WPF中DataGrid控件的过滤(Filter)性能分析及优化
DataGrid控件是一个列表控件, 可以进行过滤,排序等.本文主要针对DataGrid的过滤功能进行分析, 并提供优化方案. 1)DataGrid的过滤过程: 用户输入过滤条件 ...
- 编译使用CEF2623遇到的错误解决办法
https://cmake.org/download/win10的同学注意了按右键以管理员模式启动cmake-gui.exe在Where is the source code:里填上你解压的CEF3路 ...
- case编写的httpd简单启停脚本
case编写的httpd简单启停脚本 #!/bin/bash HTTPD="/etc/init.d/httpd" . /etc/init.d/functions case &quo ...
- 使用case语句给字体改变颜色
使用case语句给字体改变颜色 #!/bin/bash color(){ RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1; ...