JavaScriptDAY1

学习背景

开始学习JS

学习的视频是在b站的黑马pink老师。

JavaScript组成

1.ECMAScript:规定了基础语法核心知识。

2.Web APIs

        DOM:操作文档。比如对页面元素进行移动、大小、增删等。

        BOM:操作浏览器。比如页面弹窗。

输入输出语法

输出语法

1.document.write('输出内容')。向body内输出内容

如果输出的内容为标签,也会被解析成网页元素

document.write('输出')
document.write('<h1>为一个标题</h1>')

2.alter('输出内容')。页面弹出警告对话框

3.console.log('控制台打印') 。控制台输出语法,一般用于程序员调试

输入语法

1.prompt('输入内容')。显示一个对话框,对话框内包含一条文字信息,用于提示用户输入

JS变量

变量初始化(声明+赋值)。使用let

let uname = '张三'

原来用var声明不合理的地方

1.var可以先使用后声明

2.var声明过的变量可以重复声明

3.没有块级作用域

JS常量 

    const PI = 3.14

类似let,但不允许重新赋值,声明的时候必须初始化 

数据类型

分类

1.基本数据类型

number(数字类型)、string、boolean(只有true和false)、undefined(变量只声明了但是没有赋值)、null(有赋值但是对象为空)

2.引用数据类型

object

检测数据类型方法:typeof x(x为要检测的数据)

模板字符串

用于拼接字符串和变量。

    let age = 99
    document.write(`今年${age}岁`)

隐式转化和显式转化 

因为js是弱数据类型,js不知道变量到底属于那种数据类型,只有赋值了才清楚。比如使用表单、prompt获取的数据默认是字符串类型的,若此时要是得用数字类型得进行转化。

隐式转化

定义:某些运算符被执行时,系统内部自动将数据类型进行转化。

1.加号的隐式转化(有两个,比较特殊):

    // 数字类型2变成字符串类型 输出字符串22
    console.log(2 + '2')

    // 将字符串类型123变成数字类型123 输出数字123
    console.log(+'123')

2.减号-,乘号*,除号/两边只要有一个是数字类型,就会把另一个也转化成数字类型。

显式转化

定义:自己写代码告诉系统转化成什么类型。

1.Number(数据):转化为数字型

    let num = prompt('输入数据')
    console.log(num)
    // 因为prompt默认为string类型 所有要进行数据转化  
    console.log(Number(num));

 2.parseInt(数据):只保留整数

3.parseFloat(数据):可以保留小数

运算符

1.算术运算符+,-,*,/,%

2.赋值运算符:=

3.一元运算符:++,--

4.比较运算符

注意:用==(双等)的比较运算符有隐式转换,可以将字符串隐式转化成数字类型,所有,以后判断是否相等,得用===(三等符号) 。

NaN与任何人都不相等,包括NaN自身。

5.逻辑运算符

分支语句

可以让我们有选择性的执行想要执行的代码。

if语句

    // 单分支语句
    let scorce = +prompt('输入高考成绩')
    if (scorce > 700) {
      console.log('成功')
    }
    // 双分支语句
    let year = +prompt('输入年份')
    if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
      alert('闰年')
    } else {
      alert('平年')
    }
    // 多分支语句
    let scorce = +prompt('输入成绩')
    if (scorce > 90) {
      alert('优秀')
    } else if (scorce > 70) {
      alert('良好')
    } else if (scorce > 60) {
      alert('及格')
    } else {
      alert('不及格')
    }

注意:判断条件中,除了0,其他所有数据都为真;除了''(空字符串),其他所有字符串都为真

三元运算符 

执行效果类似于if双分支,开发中经常用于赋值操作。

    // 三元运算符
    // 写法:判断条件?代码1:代码2
    // 若满足判断条件,执行代码1,若不能满足,执行代码2
    let num = 3 < 5 ? 3 : 5
    console.log(num)

switch语句

// switch语句
    // 简单计算机+、-、*、/
    let num1 = +prompt('用户输入数字1:')
    let num2 = +prompt('用户输入数字2:')
    let sp = prompt('选择运算符号')
    switch (sp) {
      case '+':
        alert(`你选择的是加号, 运算的结果为${num1 + num2}`)
        break;
      case '-':
        alert(`你选择的是加号, 运算的结果为${num1 - num2}`)
        break;
      case '*':
        alert(`你选择的是加号, 运算的结果为${num1 * num2}`)
        break;
      case '/':
        alert(`你选择的是加号, 运算的结果为${num1 / num2}`)
        break;
      default:
        alert("不能进行该运算")
        break;
    }

循环语句

循环三要素:变量的起始值,终止条件,变量变化量

while循环

格式

let num = +prompt('要打印的次数:')
    let i = 1
    while (i <= num) {
      document.write(`输出${num}次<br>`)
      i++
    }

循环的退出continue和break 

break:退出循环

continue:结束本次循环,继续下次循环

    while (true) {
      let ask = prompt('你要退出循环吗?回答是或不是')
      if (ask === '是') {
        break
      }
    }

for循环 

格式

    // 1-100之间的所有偶数和
    let sum = 0
    for (let i = 1; i <= 100; i++) {
      if (i % 2 === 0) {
        sum = i + sum
      }
    }
    document.write(sum)

循环数组 

for循环最常运用的场景是循环数组。

    let arrs = ['小明', '小花', '小陈', '小美', '小李']
    for (let i = 0; i < arrs.length; i++) {
      document.write(arrs[i])
    }

循环嵌套 

    // 循环嵌套
    for (let i = 1; i <= 3; i++) {
      document.write(`第${i}天<br>`)
      for (let j = 1; j <= 5; j++)
        document.write(`记住了${j}个单词<br>`)
    }

数组 

可以将一组数据存储在单个变量名下。

声明数组

    // 声明语法
    let arr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
    // 获取数组内的值,注意:下标从0开始
    //通过下标取数据
    arr[0]
    // 输出星期日
    console.log(arr[6])

操作数组

修改

    let arrs = ['blue', 'pink', 'red']
    // 修改操作1:将blue改成green
    arrs[0] = 'green'
    console.log(arrs)
    // 修改操作2:每天元素后面都加上‘颜色’这两个字
    for (let i = 0; i < arrs.length; i++) {
      arrs[i] = arrs[i] + '颜色'
    }
    console.log(arrs)

增加 

利用push向数组添加元素,此方法能将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

利用unshift向数组添加元素,此方法能将一个或多个元素添加到数组的开头,并返回该数组的新长度。

    // 新增
    // push 添加到数组结尾
    let arrs = ['blue', 'pink', 'red']
    let changdu = arrs.push('yello', 'green')
    // 输出数组的值
    console.log(arrs)
    // 输出添加后的数组长度
    console.log(changdu)

    // unshift添加到数组头部
    arrs.unshift('gray')
    console.log(arrs)

删除

1.利用pop删除数组中最后一个元素,并返回该元素的值。

2.利用shift删除数组中第一个一个元素,并返回该元素的值。

    let arrs1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    // pop
    arrs1.pop()
    console.log(arrs1)

    // shift
    arrs1.shift()
    console.log(arrs1)

3.利用splice删除数组中指定的元素,并返回该元素的值。

splice(起始位置,删除几个元素)

注意:起始位置是从0开始。删除几个元素没写值,则从指定位置删除到最后。

    let arrs1 = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
    // splice(起始位置,删除几个元素)
    arrs1.splice(1, 2)
    console.log(arrs1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值