前端基础9:JS数据类型和if else判断,for循环

本文详细介绍了JavaScript的相关知识,包括其组成部分(Ecmascript、DOM、BOM)、引入方式(行内式、内嵌式、外链式)、数据类型(基本和引用),还阐述了对象类型的定义、操作,数据存储(栈内存和堆内存),以及for in、if else、switch、for等循环和判断语句,最后提及类数组。

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

js组成部分

  • Ecmascript 核心语法部分:变量,命名规范,数据类型,各种语句
  • DOM(document object model)部分:提供了操作DOM元素的属性和方法
  • BOM(browser object model)部分:提供操作浏览器的属性和方法

JS引入方式

  • 行内式

    下面两种方式放在所有的结构后面

  • 内嵌式

  • 外链式

  • 调试方式

    • alert()
    • console.log()
    • console.dir()会将对象类型数据在控制台里详细的打印出来

JS数据类型

  • 基本数据类型
    • number,string,Boolean,null,undefined
  • 引用数据类型
    • 对象类型(object,array,regExp,Date)和函数类型

number类型:整数,小数,NaN

  • 如下情况会是NaN
- 1.四则运算失败时
- 2.将其他数据类型强制转换成number型失败时
复制代码
  • 转换成number的方法
- Number()
	- null->0, undefined->NaN,""->0,false->0,{}->NaN
- parseInt() 提取字符串中的整数部分
- parseFloat()提取字符串中的小数部分
复制代码
  • 判断一个数是否是有效数
- isNaN() 1.通过Number()方法强制转换。2.通过isNaN()判断
	- false:则是有效数
	- true:为NaN,无效数
复制代码

string类型

  • 用引号包起来的
  • 变量和字符串的区别
    • 加引号的是字符串 ‘abc’
    • 不加引号的是变量 var abc = 1; //abc是变量
    • 字符串中的加号表示拼接
    • 字符串中表示字符本身含义 \->\ "->"\ '->'\ \t \r \n

Boolean类型

-true和false

  • 0,NaN,null,undefined,“”->false 其余的全部为true
  • var a = 2;
    • !a->false;
    • !!a->true;

null和undefined

  • 都表示空
  • null表示现在是空,但是以后会有
  • undefined表示从来没有过

引用类型数据

对象类型

  • 基本类型的数据只能存储一种类型的值,若想对一个事物从多方面去描述,则基本类型就满足不了需求,需要定义对象数据类型
  • 定义对象的方式:
      1. 对象字面量的方式:var obj = {name:‘a’,age:11}
      1. 构造函数的方式:var obj = new Object()
  • 操作对象的方式
    • 打点的方式: .name
    • 中括号的方式: ['']
  • 增删改查
      • obj.height 必须是对象没有的属性
      • obj['height']
    • 修改
      • 必须是已有对象属性
        • obj.height = 120;
        • obj['height'] = 123;
    • 查找
      • 根据属性名获取属性值
      • 若对象中没有该属性 则为undefined
      • 若[]括号中没写‘’ 引号则会被当成变量,先查看这个变量是否存在 若存在则返回变量值,否则报错
    • 删除
  • 若属性名是数组 只能通过[]的方式,不能通过打点的方式
  • 若属性名不确定,只能通过[]的方式,不能通过打点的方式
    var obj = {
        name : 'a',
        age : 11,
    }
    var width = 'age';
     obj[width];
    复制代码

数据存储

  • 基本类型的数据存储在栈内存 - var num = 10; - 1.开辟一个内存存储变量num - 2.开辟一个内存存储值10 - 3.把10赋值给num,称之为定义
  • 引用类型数据存储在堆内存

    • var obj = {name:'ss',age:20}
    • 1.开辟一个堆内存,假设引用地址是FFF000
    • 2.将对象的属性名存入这个内存
    • 3.将引用地址FFF000赋值给变量obj,这样obj就指向了内存空间
    • 注意:引用类型的数据操作是引用地址
  • 栈内存和堆内存的区别

    • 栈内存存放基本类型的值,堆内存放引用类型的值
    • 栈内存空间小速度快,堆内存空间大速度慢

for in循环

  • for(var i in obj)//在obj中定义一个变量i用来保存属性名
  • 遍历次数是由属性决定的
  • in 在...中 判断某个属性是否在对象中,若存在则返回true,不存在返回false

if else

    • if else if 是一级一级进行判断,如果当前判断成立就执行大括号里面的代码后面的判断不再生效,也不会执行,直接跳过,如果当前判断不成立,才会走下一个判断。
  function fn5(s) {//如果没有参数 那么就会在函数外界寻找s
      console.log(s.name, 's.name');
  }
复制代码
    fn5('sss')//函数在执行的时候传的参数,和方法需要的参数是一一对应的,
    如果函数执行没有传递某个需要的参数,
    //那这个参数就是undefined。
复制代码

switch

  • 一般在多种判断情况下使用
  • 在case判断中是 === 判断
  • 最后需要break跳出循环

for循环

  • 重复一件事情 ,确定遍历的次数
  • 1.初始化变量 var i = 0;
  • 2.遍历的条件,决定了遍历的次数
  • 3.若条件成立执行循环体中的内容
  • 4.执行累加或累减
  • continue/break 遇到这两个代码 后面代码不再执行
    • continue 中止本次,执行下一次
    • break 中止整个for循环(本轮循环)

类数组

  • 通过id名获取ul标签
    • var oUl = document.getElementById('list');
  • 通过标记名获取所有的li标签 限制范围 v
    • ar oLis = oUl.getElementsByTagName('li');
    • Elements 元素集合 TagName 标记名
    • console.log(oLis instanceof Array); //false说明不是数组
    • 元素集合跟数组非常相似
      • 1.都有length 2.数字属性名跟索引一样,从0开始递增 —­>这样的 对象称为类数组
        遍历类数组拿到每一个li for(var i=0; i<oLis.length; i++){ oLis[i].className = i%2 ? 'bg0' : 'bg1'; }

转载于:https://juejin.im/post/5b853dcf6fb9a019fb516587

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值