1.声明一个数组:var 数组名 = [元素1,元素2,元素3…………]
数组名[下标]
数组名.length
数组名[下标]
数组名[下标] = 值
数组名.length
数组名.length = 值
数组名.length--
for(var i = 0; i < arr.length; i++) {// 数组遍历的固定结构}
var 数组名 = [元素1,元素2,元素3,……]
var 数组名 = new Array(元素1,元素2,元素3……)
[10];
代表数组长度为1,元素是10new Array(10);
代表数组长度为10,没有元素嵌套循环执行的总次数 = 外层循环执行次数 * 内层循环执行次数
//1.声明函数:将代码存入变量中
function 函数名(){
函数体:一段代码
}
//2.调用函数:执行函数体代码
函数名();
语法误区:函数语法就两个(声明与调用)
1.声明函数: function 函数名(){ 函数体代码 }
2.调用函数: 函数名()
3.变量取值: 函数名 (不会执行函数体代码,只是以字符串形式将变量中存储的东西打印出来而已)
调用者 传递数据 给函数
语法:
传 : 调用者
函数名(实参:实际参数)
收 : 函数
function 函数名(形参:形式参数){ 函数体代码 }
返回值 : 函数 传递数据 给调用者
语法
传 : 函数
function 函数名(形参){ return 值; }
收 : 调用者
var 变量名 = 函数名()
a. 如果函数没有写return,默认返回值是undefined
b. 如果函数有写return,但是后面没有接值。返回值是undeifined
c. 如果函数有写return,并且return后面有值。返回值就是return后面的值
d. return关键字作用 : 结束函数体代码。 return后面代码不执行
function 函数名() {};
var 函数名 = 匿名函数
var 函数名 = function(){};
( function(){} ) ()
//补充:其实有名字的函数也可以自己调用自己,只是比较少见
对象作用:一个变量存储多个数据
对象与数组异同点
相同点:一个变量存储多个数据
不同点:
数组有序存储:元素与下标一一对应
对象无序存储:属性名与属性值一一对应(键值对)
a.声明: var 对象名 = {属性名:属性值}
b.取值: 对象名.属性名
属性存在,则获取属性值
属性不存在,则获取undefined
c.赋值: 对象名.属性名 = 值
属性存在,则修改属性值
属性不存在,则动态添加属性
var 对象名 = { 属性名:属性值 }
问题:假设一个拥有名字name,价格price。 在代码中如何存储多个?
//我们可以用里一个数组来存储对象,这样就可以存储多个对象了
var arr = [
{
name: 'iPhone',
price: 3888
},
{
name: 'switch',
price: 1688
},
{
name: 'iPad',
price: 2460
}
];
var person = {
age:32,
sex:'男'
};
var sex = 'age';
var aaa = 'sex';
//点语法取sex属性值
console.log(person.sex);// 男
//字符串语法取sex属性值
console.log(person['sex']);//男
//person[“age”] : 字符串语法取sex变量种存储的字符串对应的属性值
console.log(person[sex]); // 32
console.log(person.aaa);//undefined
console.log(person['aaa']);//undefined
console.log(person[aaa]);//男
console.log(person.age);//32
console.log(person['age']);//32
//真正报错的原因不是因为对象的取值语法报错,而是age变量未声明
var age = 111;
console.log(person[age]);// 程序报错
对象的遍历 : 获取对象的每一个属性值
2.复习数组的遍历语法
固定的for循环: for(var i = 0;i<数组.length;i++){ 数组名[i] }
3.对象无法使用数组的遍历语法,对象的遍历有专用的for循环结构
for-in循环 : for(var key in 对象名){ 对象名[key] }
*** 注意点: 只能使用字符串语法取属性值 ***
var stu = {
name: "Li",
sex: "男",
age: 18
}
//遍历对象中的属性名和属性值 用for in
for (var key in stu) {
console.log(key + "---" + stu[key]);//name---Li sex---男 age---18
}
this : 谁调用我,我就指向谁
/*
this : 谁调用我,我就指向谁
*/
var banzhang = {
name: '坤坤',
age: 32,
sex: '男',
sayHi:function(){
console.log('我的名字叫' + this.name + '我的年龄是' + this.age );
}
};
banzhang.sayHi();//我的名字叫坤坤我的年龄是32
//1.(最常用)简洁方式: var 对象名 = { 属性名:属性值 }
var p1 = {name:'张三'};
//2.构造函数:
//构造函数:如果调用一个函数使用了new关键字,这个函数成为构造函数
var p2 = new Object( {name : '张三'} );
/*这两种方式没有任何区别,只是语法不同而已*/
console.log ( p1 );
console.log ( p2 );
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。