js语法基础

js基础

###一、JavaScript基本介绍及发展趋势

ES5是2019年发布,在所有现代浏览器中得到了相当完全的实现

###二、编写JS及如何运行JS

1.在HTML普通标签中直接写入JS代码

写在标签上的 js 代码需要依靠事件(行为)来触发

<!-- 写在 a 标签的 href 属性上 -->
<a href="javascript:alert('我是一个弹出层');">点击一下试试</a>

<!-- 写在其他元素上 -->
<div onclick="alert('我是一个弹出层')">点一下试试看</div>

<!--
	注:onclick 是一个事件(点击事件),当点击元素的时候执行后面的 js 代码
-->

2.在HTML文档中写入代码(script标签)

内嵌式的 js 代码会在页面打开的时候直接触发

<!-- 在 html 页面书写一个 script 标签,标签内部书写 js 代码 -->
<script type="text/javascript">
	alert('我是一个弹出层')
</script>

<!--
	注:script 标签可以放在 head 里面也可以放在 body 里面
-->

3.在*.js文件中写入JS代码

外链式 js 代码只要引入了 html 页面,就会在页面打开的时候直接触发

// 我是 index.js 文件
alert('我是一个弹出层')
<!-- 我是一个 html 文件 -->

<!-- 通过 script 标签的 src 属性,把写好的 js 文件引入页面 -->
<script src="index.js">
    
</script>

<!-- 一个页面可以引入多个 js 文件 -->
<script src="index1.js"></script>
<script src="index2.js"></script>
<script src="index3.js"></script>

###三、变量及命名规则
####1.变量的申明与定义

var a = 10
let b = 10   //ES6 新增
const c = 10 //ES6 新增

####2.变量的命名规则
####3.关键字

varletconstbreakcasecatchcontinuedefaultdeletedoelsefinallyforfunctionifininstanceofnewreturnswitchthisthrowtrytypeofvoidwhilewith

###四、数据类型

  • 基础数据类型(原始数据类型)
  • 复杂数据类型(对象,引用类型,复合类型)

####1. 基础数据类型

  1. 数值类型(number)
    • 一切数字都是数值类型(包括二进制,十进制,十六进制等)
    • NaN(not a number),一个非数字
   var a = 1;

  // typeof a;->number
  1. 字符串类型(string)

    • 被引号包裹的所有内容(可以是单引号也可以是双引号)
   var str = 'hello'
   //typeof str ->string
  1. 布尔类型(boolean)

    • 只有两个(true 或者 false
  2. null类型(null)

    • 只有一个,就是 null,表示空的意思
  3. undefined类型(undefined)

    • 只有一个,就是 undefined,表示没有值的意思

####2. 复杂数据类型object

  1. 对象类型(object)

####3. 判断数据类型

  1. 既然已经把数据分开了类型,那么我们就要知道我们存储的数据是一个什么类型的数据
  2. 使用 typeof 关键字来进行判断
// 第一种使用方式
var n1 = 100;
console.log(typeof n1);//number 


// 第二种使用方式
var s1 = 'abcdefg';
console.log(typeof(s1));//string
console.log(typeof typeof n1);//string
console.log (typeof true);//boolean
console.log( typeof null);//object
console.log( typeof undefined);//undefined
console.log( typeof {});//object

####4. 判断一个变量是不是数字

  • 可以使用 isNaN 这个方法来判断一个变量是不是 不是数字
  • isNaNis not a number
// 如果变量是一个数字
var n1 = 100;
console.log(isNaN(n1)); //=> false

// 如果变量不是一个数字
var s1 = 'Jack'
console.log(isNaN(s1)); //=> true

####5. 数据类型转换

  • 数据类型之间的转换,比如数字转成字符串,字符串转成数字,数字转成布尔等

####6. 其他数据类型转成数值

  1. Number(变量)
  • 可以把一个变量强制转换(显示转换)成数值类型
    • 可以转换小数,会保留小数
    • 可以转换布尔值
    • 遇到不可转换的都会返回 NaN(出现字母)
  1. parseInt(变量)
  • 从第一位开始检查,是数字就转换,直到一个不是数字的内容
    • 开头就不是数字,那么直接返回 NaN
    • 不认识小数点,只能获取整数
  1. parseFloat(变量)
  • 从第一位开始检查,是数字就转换,直到一个不是数字的内容

  • 开头就不是数字,那么直接返回 NaN

  1. 除了加法以外的数学运算

    • 运算符两边都是可运算数字才行
    • 如果运算符任何一边不是一个可运算数字,那么就会返回 NaN
    • 加法不可以用

####7. 其他数据类型转成字符串

  1. 变量.toString()
    • 有一些数据类型不能使用 toString() 方法,比如 undefinednull
  2. String(变量)
    • 所有数据类型都可以
  3. 使用加法运算
    • 在 JS 里面,+ 由两个含义
    • 字符串拼接: 只要 + 任意一边是字符串,就会进行字符串拼接
    • 加法运算:只有 + 两边都是数字的时候,才会进行数学运算

####8. 其他数据类型转成布尔

  1. Boolean(变量)
    • 在 js 中,只有 ''0nullundefinedNaN,这些是 false,其余都是 true
      ###五、运算符

就是在代码里面进行运算的时候使用的符号,不光只是数学运算,我们在 js 里面还有很多的运算方式
算术运算符
####1. 算术运算符

  1. +
  • 只有符号两边都是数字的时候才会进行加法运算
    • 只要符号任意一边是字符串类型,就会进行字符串拼接
  1. -
  • 会执行减法运算

  • 会自动把两边都转换成数字进行运算

  1. *
  • 会执行乘法运算
    • 会自动把两边都转换成数字进行运算
  1. /
  • 会执行除法运算
    • 会自动把两边都转换成数字进行运算
  1. %
  • 会执行取余运算
    • 会自动把两边都转换成数字进行运算
  1. **

    2**4----- 2的4次方
    比较运算符
    ####2. 赋值运算符

  2. =

    • 就是把 = 右边的赋值给等号左边的变量名
    • var num = 100
    • 就是把 100 赋值给 num 变量
    • 那么 num 变量的值就是 100
  3. +=

    var a = 10;
    a += 10;// a = a + 10
    console.log(a); //=> 20
    
    • a += 10 等价于 a = a + 10
  4. -=

    var a = 10;
    a -= 10;
    console.log(a); //=> 0
    
    • a -= 10 等价于 a = a - 10
  5. *=

    var a = 10;
    a *= 10;
    console.log(a); //=> 100
    
    • a *= 10 等价于 a = a * 10
  6. /+

    var a = 10;
    a /= 10;
    console.log(a); //=> 1
    
    • a /= 10 等价于 a = a / 10
  7. %=

    var a = 10;
    a %= 10;
    console.log(a); //=> 0
    
    • a %= 10 等价于 a = a % 10

####3. 赋值运算符

  1. ==

    • 比较符号两边的值是否相等,不管数据类型
    • 1 == '1'
    • 两个的值是一样的,所以得到 true
  2. ===

    • 比较符号两边的值和数据类型是否都相等
    • 1 === '1'
    • 两个值虽然一样,但是因为数据类型不一样,所以得到 false
  3. !=

    • 比较符号两边的值是否不等
    • 1 != '1'
    • 因为两边的值是相等的,所以比较他们不等的时候得到 false
  4. !==

    • 比较符号两边的数据类型和值是否不等
    • 1 !== '1'
    • 因为两边的数据类型确实不一样,所以得到 true
  5. >=

    • 比较左边的值是否 大于或等于 右边的值
    • 1 >= 1 结果是 true
    • 1 >= 0 结果是 true
    • 1 >= 2 结果是 false
  6. <=

    • 比较左边的值是否 小于或等于 右边的值
    • 1 <= 2 结果是 true
    • 1 <= 1 结果是 true
    • 1 <= 0 结果是 false
  7. >

    • 比较左边的值是否 大于 右边的值
    • 1 > 0 结果是 true
    • 1 > 1 结果是 false
    • 1 > 2 结果是 false
  8. <

    • 比较左边的值是否 小于 右边的值
    • 1 < 2 结果是 true
    • 1 < 1 结果是 false
    • 1 < 0 结果是 false
      ####4. 逻辑运算符
  9. && and

    • 进行 且 的运算
    • 符号左边必须为 true 并且右边也是 true,才会返回 true
    • 只要有一边不是 true,那么就会返回 false
    • true && true 结果是 true
    • true && false 结果是 false
    • false && true 结果是 false
    • false && false 结果是 false
  10. || or

    • 进行 或 的运算
    • 符号的左边为 true 或者右边为 true,都会返回 true
    • 只有两边都是 false 的时候才会返回 false
    • true || true 结果是 true
    • true || false 结果是 true
    • false || true 结果是 true
    • false || false 结果是 false
  11. !

    • 进行 取反 运算 !flag
    • 本身是 true 的,会变成 false
    • 本身是 false 的,会变成 true
    • !true 结果是 false
    • !false 结果是 true
      ####5. 自增自减运算符(一元运算符)
  12. ++

    • 进行自增运算

    • 分成两种,前置++后置++

    • 前置++,会先把值自动 +1,在返回

      var a = 10;
      console.log(++a);//++a 表达式的值的 
      // 会返回 11,并且把 a 的值变成 11
      
    • 后置++,会先把值返回,在自动+1

      var a = 10;
      console.log(a++);//a++ 表达式的值的 
      // 会返回 10,然后把 a 的值变成 11
      
  13. --

    • 进行自减运算
    • 分成两种,前置–后置–
    • ++ 运算符道理一样

###六、条件语句
####1. if 语句

  • 通过一个 if 语句来决定代码是否执行

  • 语法: if (条件) { 要执行的代码 }

  • 通过 () 里面的条件是否成立来决定 {} 里面的代码是否执行

    // 条件为 true 的时候执行 {} 里面的代码
    if (true) {
      alert('因为条件是 true,我会执行')
    }
    
    // 条件为 false 的时候不执行 {} 里面的代码
    if (false) {
    	alert('因为条件是 false,我不会执行')    
    }
    // 如果代码块中代码只有一句,可以把花括号省略
    

####2. if else 语句

  • 通过 if 条件来决定,执行哪一个 {} 里面的代码

  • 语法: if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }

  • 两个 {} 内的代码一定有一个会执行

    // 条件为 true 的时候,会执行 if 后面的 {} 
    if (true) {
      alert('因为条件是 true,我会执行')
    } else {
      alert('因为条件是 true,我不会执行')
    }
    
    // 条件为 false 的时候,会执行 else 后面的 {}
    if (false) {
      alert('因为条件为 false,我不会执行')
    } else {
      alert('因为条件为 false,我会执行')
    }
    
3. if else if … 语句
  • 可以通过 ifelse if 来设置多个条件进行判断

  • 语法:if (条件1) { 条件1为 true 的时候执行 } else if (条件2) { 条件2为 true 的时候执行 }

  • 会从头开始依次判断条件

    • 如果第一个条件为 true 了,那么就会执行后面的 {} 里面的内容
    • 如果第一个条件为 false,那么就会判断第二个条件,依次类推
  • 多个 {} ,只会有一个被执行,一旦有一个条件为 true 了,后面的就不在判断了

    // 第一个条件为 true,第二个条件为 false,最终会打印 “我是代码段1”
    if (true) {
      	alert('我是代码段1')
    } else if (false) {
    	alert('我是代码段2')           
    }
    
    // 第一个条件为 true,第二个条件为 true,最终会打印 “我是代码段1”
    // 因为只要前面有一个条件满足了,就不会继续判断了
    if (true) {
      	alert('我是代码段1')
    } else if (true) {
      	alert('我是代码段2')
    }
    
    // 第一个条件为 false,第二个条件为 true,最终会打印 “我是代码段2”
    // 只有前一个条件为 false 的时候才会继续向后判断
    if (false) {
      	alert('我是代码段1')
    } else if (true) {
      	alert('我是代码段2')
    }
    
    // 第一个条件为 false,第二个条件为 false,最终什么也不会发生
    // 因为当所有条件都为 false 的时候,两个 {} 里面的代码都不会执行
    if (false) {
      	alert('我是代码段1')
    } else if (false) {
      	alert('我是代码段2')
    }
    
4. if else if … else 语句
  • 和之前的 if else if ... 基本一致,只不过是在所有条件都不满足的时候,执行最后 else 后面的 {}

    // 第一个条件为 false,第二个条件为 false,最终会打印 “我是代码段3”
    // 只有前面所有的条件都不满足的时候会执行 else 后面的 {} 里面的代码
    // 只要前面有一个条件满足了,那么后面的就都不会执行了
    if (false) {
      	alert('我是代码段1')
    } else if (false) {
      	alert('我是代码段2')
    } else {
      	alert('我是代码段3')
    }
    
5. SWITCH 条件分支结构(重点)
  • 也是条件判断语句的一种

  • 是对于某一个变量的固定值判断

  • 语法:

/*
  switch (要判断的变量) {
    case 情况1:  //要判断的变量 === 情况1 
      情况1要执行的代码
      break
    case 情况2:
      情况2要执行的代码
      break
    case 情况3:
      情况3要执行的代码
      break
    default:
      上述情况都不满足的时候执行的代码
  }
  
  default 默认
  case 情况
  break 中断
  switch 开关*/

  var week = 1
  
  switch (week) {
    case 1://week===1
      alert('星期一')
      break
    case 2:
      alert('星期二')
      break
    case 3:
      alert('星期三')
      break
    case 4:
      alert('星期四')
      break
    case 5:
      alert('星期五')
      break
    case 6:
      alert('星期六')
      break
    case 7:
      alert('星期日')
      break
    default:
      alert('请输入一个 1 ~ 7 之间的数字')
  }
6. 三元运算(扩展)
  • 三元运算,就是用 两个符号 组成一个语句

  • 三元运算只是对 if else 语句的一个简写形式

  • 语法: 条件 ? 条件为 true 的时候执行 : 条件为 false 的时候执行

    var age = 18;
    age >= 18 ? alert('已经成年') : alert('没有成年')
    

###七、循环结构
####1. FOR 循环

  • whiledo while 循环都不太一样的一种循环结构

  • 道理是和其他两种一样的,都是循环执行代码的

  • 语法: for (var i = 0; i < 10; i++) { 要执行的代码 }

    // 把初始化,条件判断,自身改变,写在了一起
    for (var i = 0; i < 10; i++) {
      // 这里写的是要执行的代码
      console.log(i)
    }
    
    // 控制台会依次输出 0 ~ 9 
    
2. WHILE 循环
  • while,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了

  • 语法 while (条件) { 满足条件就执行 }

  • 因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了

    // 1. 初始化条件
    var num = 0;
    // 2. 条件判断
    while (num < 10) {
      // 3. 要执行的代码
      console.log('当前的 num 的值是 ' + num)
      // 4. 自身改变
      num = num + 1
    }
    
    • 如果没有自身改变,那么就会一直循环不停了
      ####3. DO WHILE 循环
  • 是一个和 while 循环类似的循环

  • while 会先进行条件判断,满足就执行,不满足直接就不执行了

  • 但是 do while 循环是,先不管条件,先执行一回,然后在开始进行条件判断

  • 语法: do { 要执行的代码 } while (条件)

    // 下面这个代码,条件一开始就不满足,但是依旧会执行一次 do 后面 {} 内部的代码
    var num = 10
    do {
      console.log('我执行了一次')
      num = num + 1
    } while (num < 10)
    

####4.BREAK 终止循环(常用)

  • 在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环

  • 比如:我要吃五个包子,吃到三个的时候,不能在吃了,我就停止吃包子这个事情

  • 要终止循环,就可以直接使用 break 关键字

  • 结束整个循环,break所在的循环完全结束了

    for (var i = 1; i <= 5; i++) {
      // 每循环一次,吃一个包子
      console.log('我吃了一个包子')
      // 当 i 的值为 3 的时候,条件为 true,执行 {} 里面的代码终止循环
      // 循环就不会继续向下执行了,也就没有 4 和 5 了
      if (i === 3) {
        break
      }
    }
    

####5. CONTINUE 结束本次循环

  • 在循环中,把循环的本次跳过去,继续执行后续的循环

  • 比如:吃五个包子,到第三个的时候,第三个掉地下了,不吃了,跳过第三个,继续吃第四个和第五个

  • 跳过本次循环,就可以使用 continue 关键字

    for (var i = 1; i <= 5; i++) {
      // 当 i 的值为 3 的时候,执行 {} 里面的代码
      // {} 里面有 continue,那么本次循环后面的代码就都不执行了
      // 自动算作 i 为 3 的这一次结束了,去继续执行 i = 4 的那次循环了
      if (i === 3) {
        console.log('这个是第三个包子,掉地下了,我不吃了')
        continue
      }
      console.log('我吃了一个包子')
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaScript语法基础包括数据类型、运算符、选择结构和循环结构。在JavaScript中,所有的类型都是用var关键字来修饰。常见的数据类型包括字符串、数字、布尔值、数组和对象等。 JavaScript中的运算符包括算术运算符、比较运算符、逻辑运算符和赋值运算符等。算术运算符用于执行基本的数学运算,比较运算符用于比较两个值的大小关系,逻辑运算符用于组合多个条件进行逻辑判断,赋值运算符用于给变量赋值。 选择结构在JavaScript中主要通过if语句和switch语句实现。if语句根据条件的真假来执行相应的代码块,switch语句则根据表达式的值来选择执行相应的代码块。选择结构可以帮助我们根据不同的条件来执行不同的代码逻辑。 循环结构在JavaScript中主要有for循环、while循环和do-while循环。for循环是最常用的循环结构,它通过初始化、判断条件和自增或自减步长来控制循环的执行次数。while循环和do-while循环则根据条件的真假来决定是否执行循环体中的代码。循环结构能够重复执行一段代码,可以用于处理需要重复操作的任务。 综上所述,JavaScript语法基础包括数据类型、运算符、选择结构和循环结构,它们是编写JavaScript程序的基础要素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【JavaScript】基本语法大全](https://blog.csdn.net/weixin_64916311/article/details/129136028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万水千山走遍TML

您的鼓励,将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值