JavaScript数据类型与循环

JavaScript数据类型与循环

JS中的数据类型

原始类型(基本类型)

概念:不可以再细分的类型

  1. 数字类型 number

  2. 字符串 string

  3. 布尔类型 boolean

  4. undefined类型

  5. null类型

引用类型

有两种: object , function

<script>
    var obj = {
        name : '张三',
        age : 18,
        address : {
        country : '中国',
        city : '武汉'
    }
    }
    console.log(obj)
</script>

在浏览器中输出效果如下:
在这里插入图片描述

当我声明一个对象叫obj时,这个对象obj赋予的值是一个地址,指向储存内容的位置的地址,同样的address赋予的值同样是一个地址,指向储存着country和city内容的地址,仅仅是引用类型数据的储存是赋予地址,基本类型数据的存储的储存的值。

循环结构

概念:重复的运行一段代码[做的是相同或相似的事情]

JS支持3种循环结构:while循环、 do-while循环、for循环

循环的特点:

  1. 循环条件 : 规定了循环的执行次数 循环变量
  2. 循环操作: 相同或相似的语句 - 循环体

for循环的特殊写法

for(初始化表达式; 条件; 条件改变表达式){
    循环体
}
<script>
    var i = 1;//提前声明了一个变量并且赋值
    for ( ; i < 10; i++ ) {
        console.log(i)
    }
    
    var  j = 10;//提前声明了一个变量并且赋值
    for ( ; j ; j-- ) {//j变为0时,boolean类型判断,返回false,停止循环(注意,避免写成死循环)
        console.log('Hellow World!')
    }
    
    var  z = 10;
    for ( ; z ; ) {
        z--;//在循环体中做变量值的改变动作
        console.log('今天天气很好!')
    }
</script>

执行效果如下:

在这里插入图片描述

foreach循环 for - in

for(var prop in 对象){
    prop;//对象的属性名
    对象[prop];//对象的属性值
}

取出对象的所有属性名,每次循环将其中一个属性名赋值给变量prop,运行循环体

例子:

<script>
     var obj = {
        name : '张三',
        age : 18,
        address : {
        country : '中国',
        city : '武汉'
    }
    }
    for ( var k in obj ) {
        console.log(k);
    }
</script>

效果如下(可以取到对象下面的全部属性名):

在这里插入图片描述

function(函数)

//字面量声明方式,声明会提前
function fn(参数列表){
函数体
}
// 表达式的声明方式,函数的声明不会提前
var demo = function test(参数列表){
   函数体
}

this关键字

this无法赋值

  1. 在全局作用域中,this关键字固定指向全局对象
  2. 在函数作用域中,取决于函数是如何被调用的
    1. 函数直接调用(通过window调用),this指向全局对象
    2. 通过一个对象的属性调用,格式对象.属性名()对象['属性'](),this指向该对象

在函数执行过程中,this一旦被确定,就不可更改了

调用的
1. 函数直接调用(通过window调用),this指向全局对象
2. 通过一个对象的属性调用,格式对象.属性名()对象['属性'](),this指向该对象

在函数执行过程中,this一旦被确定,就不可更改了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值