JavaScript进阶学习day2

目录

 

数据类型

运算符

分支语句

循环

数组


数据类型

一、类型转换

1、隐式转换

①+号两边只要一个是字符串,那么都会把另外一个转为字符串(任何数据与字符串相加结果都为字符串)

②除了+号以外的运算符,如 -、*、/等运算符,都会将数据转为数字类型

注意:+号作为正号解析可以转为数字类型

console.log(typeof +'123')//结果为number类型
console.log(+'11'+11)//结果为22

2、显式转换

①Number

//第一种方法,利用加号
  let num=+prompt('请输入数字')
  console.log(typeof num)//这个就是number型
  //第二种方法,Number方法
  let num1=prompt('请输入数字')
  console.log(Nuber(num1)//这个就是number型
  //第三种方法
  let num=Nuber(prompt('请输入数字'))
  console.log(typeof num)//这个就是number型
  ​
  let num1 = +prompt('第一个数')
  let num2 = +prompt('第二个数')
  alert(`两个数相加的结果为${num1 + num2}`)

②ParseInt只保留整数

console.log(ParseInt('12px'))//12

③ParseFloat可以保留小数

 console.log(ParseInt('12.99px'))//12.99

运算符

1、赋值运算符:=,+=,-=

2、自增运算符:

①前置自增

 let num=10
 ++i//11

②后置自增

  let num=10
  i++//11

③区别(++i是先加了再运算,i++是先运算了再加1)如果是单独使用++i和i++没区别

let i=1
console.log(++i +1)//3
let j=1
console.log(i++ + 1)//2

3、比较运算符

开发中更推荐用全等===

不同类型的转换会存在着隐式转换

4、逻辑运算符

逻辑与&&:一假则假,&&的优先级比||高

逻辑或||:一真即真

逻辑非!:真变假,假变真


分支语句

1、if语句

除了0其余数字都为真,除了空字符串都为真

if(条件表达式1){
     满足条件表达式1执行这里
     }
  else if(条件表达式2){
      满足条件表达式2执行这里
  }
  else{
      以上都不满足那么就执行这段代码
  }

2、三元运算符

条件?满足执行条件的代码:不满足条件的执行代码

 
  3>5:'真的','假的'  //输出假的
  ​
  //数字补0案例
  let num = +prompt('请输入一个数字')
  num = num < 10 ? '0' + num : num
  alert(num)

3、Switch语句(如果判断值和以下的case一致,那么就会跳转的对应的case,否则就直接跳到default,注意case要加break,否则就会被穿透)

 switch(判断值){
         case 值1:
         代码1
         break
         case 值2:
         代码2
         break
         case 值3:
         代码3
         break
         default:
         执行内容
         }
          
          
   //案例
      let num1 = +prompt('第一个数字')
      let num2 = +prompt('第二个数字')
      let opt = prompt('输入一个操作符')
      switch (opt) {
        case '+':
          alert(`两个数字运算操作结果为${num1 + num2}`)
          break
        case '-':
          alert(`两个数字运算操作结果为${num1 + num2}`)
          break
        case '*':
          alert(`两个数字运算操作结果为${num1 + num2}`)
          break
        case '/':
          alert(`两个数字运算操作结果为${num1 + num2}`)
          break
        default:
          alert('输入错误')
      }
 

循环

1、while循环

三要素:变量起始值、终止条件、变量的变化

let i = 0
  while (i < 10) {
      alert(`我要循环${i + 1}次`)
      i++
  }

2、循环退出

①break:退出整个大循环,不会再进入到循环里面

②continue:下面的代码不再执行,结束本次循环,开始下一轮循环

 //强人所爱案例
  while (1) {
        let love = prompt('你爱我吗')
        if (love == '我爱你') {
          break
        }
        else {
          continue
        }
      }

3、for循环

 for(变量起始值;循环条件;变量的变化){
      循环的内容
  }
  ​
  //数组循环
  let i = 0
  let arr = ['小华', '小兰', '小红', '小明']
  for (i; i < arr.length; i++) {
      document.write(arr[i])
  }

4、for循环嵌套

 //外层天数
  for (let i = 1; i <= 5; i++) {
      // 里层一天背的单词
      for (let j = 1; j <= 5; j++) {
          document.write(`<br>今天是第${i}天,今天学习${j}个单词<br>`)
      }
  }
  ​
  //九九乘法表
  for (let i = 1; i <= 9; i++) {
      for (let j = 1; j <= i; j++) {
          document.write(`<span>${j}*${i}=${i * j}<span/>   `)
      }
      document.write(`<br>`)
  }

数组

一、声明数组


  let arr=['小明','小红','小华','小刚']//数组定义,数组可以单个变量存储多个数据
  console.log(arr[0])//这里就是小明,数组编号从0开始

二、术语

数组元素:小明、小红都是元素

数组下标:数组下标从0开始

数组长度:上面的数组长度是4

三、操作数组(增删查改)

1、修改数组

  let arr=[1,2,3,4,5]
  arr[0]=0//这里修改了arr[0]的内容,数组变成了[0,2,3,4]

2、增加数组内容

let arr = ['小明', '小红']
  //在数组的后面添加
  arr.push('小芳', '小刚')//在旧数组的后面添加元素,此时的数组为[小明,小红,小芳,小刚]
  alert(arr);
  //在数组的前面添加
  arr.unshift('小丽')///在旧数组的前面添加元素,此时的数组为[小丽,小明,小红,小芳,小刚]
  alert(arr);

3、数组筛选

 //查找旧的数组中大于10的内容然后放进新的数组
  let arr = [2, 0, 6, 1, 77, 0, 52, 0, 35, 7]
  let newarr = []
  for (let i = 0; i < arr.length; i++) {
      if (arr[i] > 10) {
          newarr.push(arr[i])
      }
  }
  alert(newarr)

4、数组删除(三种方法)

let arr = [2, 0, 6, 1, 77, 0, 52, 0, 35, 7]
  //第一种方法
  arr.pop()//删除最后一个元素,此时输出2, 0, 6, 1, 77, 0, 52, 0, 35
  //第二种方法
  arr.shift()//删除第一个元素,此时输出0, 6, 1, 77, 0, 52, 0, 35, 7
  //第三种方法
  arr.splice(1,1)//arr.splice(起始位置,删除几个元素),这句代码就是从第一个位置开始,删除一个元素,此时的数组为2, 6, 1, 77, 0, 52, 0, 35, 7

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值