js-dowhile,for循环,对象,数组,判断是否是数组

本文介绍了JavaScript中的do-while和for循环,以及如何创建和操作对象和数组。讲解了对象的属性设置、删除,数组的创建、访问及判断是否为数组的多种方法。同时还涉及到了二维数组和对象作为数组元素的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

do  while
do{
循环语句
}while(条件表达式)
先执行在判断 不管条件是否满足 第一次肯定会执行的
for循环
for(初始化条件;条件判断;条件更新){
循环语句
}
嵌套循环
for (var i = 1; i <= 5; i++) {
for(var j = 1; j <= 5; j++){
document.write("i="+i+"j="+j)
}
document.write("<br>")
}
对象:存储数据的容器
存储形式是以key:value 键值对 的形式
   以构造函数的形式创建一个对象
   对象就是一个容器 返回的数据类型是Object
    对象正宗的写法 属性是字符串
   如果说对象中没有该属性返回的也是undefined
   
第一种方案:
var o = new Object();
添加属性
o.gender = "男";
修改属性
o.gender = "女";
 删除对象中的属性
 delete o.gender;
  使用属性
console.log(o.gender);
console.log(o);
第二种方案:
 var o = {
name:'李四',
age:14,
gender:'男'
}
对象的循环 枚举对象
for(var 保存属性名的变量 in 需要循环的对象){}
for(var key in o){
console.log(o[key])
}
数组
存储数据的 通过下标的形式进行存储的起始下标是0
typeof 返回数据类型是object
1.创建一个数组
var arr = new Array()
   往数组中添加数据
arr[0] = "张三";
arr[1] = "李四";
arr[2] = "王五";
   通过下标来修改数据
    arr[2] = "赵六";
   如果说往后面添加 中间没有 那么就是留空
    arr[7] = "田七"
   通过length属性来查看数组的长度
    console.log(arr.length)
    获取数组中的数据
    console.log(arr[7])
   数组中对应的位置没有放东西那么就是undefined
2.数组创建的参数 直接把数组的长度定义成9
  var arr = new Array(9);
3.表示的是每一个数据成为数组的指定下标项
  var arr = new Array(10,20,30,40)
字面量的形式创建数组
var arr = ["张三",'李四',,,,,'王五']
数据和对象内部存放
对象中的属性值可以是任何数据类型
var phone = {
id:1000,
name:'iphone8',
color:'red',
price:2000,
a:[1,2,3,4,5]
}
console.log(phone.a[2])
对象中的值可以是任何数据类型
var arr = [true,undefined,null,phone,["张三",'李四','王五']]
console.log(arr)
console.log(arr[4][1])
// 数组中的值还是数组 称该数字为二维数组
var arr = [[1,2,[3,4,5]],['张三','李四'],['a','b']]
判断是否是数组
方案一
instanceof 如果是数组返回true 不是数组返回false
  console.log(arr instanceof Array)
 console.log(arr1 instanceof Array)
方案二:
constructor 如果是数组返回true 不是数组返回false
console.log(arr.constructor === Array)
console.log(arr1.constructor === Array)
方案3:
arr.__proto__ === Array.prototype 如果是数组返回true 不是数组返回false
console.log(arr.__proto__ === Array.prototype)
console.log(arr1.__proto__ === Array.prototype)
方案4:
Array.prototype.isPrototypeOf(arr)
如果是数组返回true 不是数组返回false
console.log(Array.prototype.isPrototypeOf(arr))
console.log(Array.prototype.isPrototypeOf(arr1))
方案5:
Array.prototype.toString.call(arr) === [object Array]
如果是数组返回true 不是数组返回false
  console.log(Object.prototype.toString.call(arr) === "[object Array]")
  console.log(Object.prototype.toString.call(arr1) === "[object Array]")
方案6:使用推荐这种
Array.isArray(arr)
如果是数组返回true 不是数组返回false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值