JavaScript基础--01--基本数据类型=>运算符

什么是JavaScript(简称js)

  1. 首先要了解前端页面的组成(前端页面的三层结构)
    ● HTML 表示了你的页面内有什么,组成页面的骨架 (结构层)
    ● CSS 表示了你的页面中每一个内容是什么样子的(样式层)
    ● JavaScript(简称js) 表示了你的页面中每一个内容如何发生变化, 有什么行为内容(行为层)
  2. JavaScript
    是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户
    端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。

JavaScript的组成

  1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型
  2. BOM (Browser Object Model): 浏览器对象模型
    ● 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、
    获取分辨率等
  3. DOM (Document Object Model): 文档对象模型
    ● 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,
    减少个 div,给 div 换个位置等
    总结: JS 就是通过固定的语法去操作 浏览器 和 标签结构 来实现网页上的各种效果
    ● 注意 :
  4. 外链式 js 代码不需要任何行为, 打开页面就会执行
  5. script 标签对原则上可以书写在页面的任意位置
    ● 推荐放在 head 的末尾或者 body 的末尾
    ● 目前推荐放在 body 的末尾
  6. 一个页面可以书写任意多个 script 标签
    ● 会按照从上到下的顺序依次执行每一个 script 标签
  7. 一个 script 标签当你书写了 src 属性以后, 表示你要把他当做外链式使用
    ● 那么此时就不能在当做内嵌式使用了, 写在标签对内的内容没有意义了
    ● 只要你写了 src 属性, 不管值的位置是否书写地址, 内嵌式都没有意义了
  8. 一个页面中可以同时存在外链式和行内式,执行的顺序还是按照你script标签的书写位置先关,写在上面的先执行

输入

用户选择框  var name = confirm('你是程序员吗')
用户输入框  var name = prompt('请输入你的姓名') 

输出

在浏览器弹窗显示     alert(  )
在控制台打印        console.log(  )
直接在页面输出      document.write( )

数据类型

基本数据类型

数值类型(number)

● 包含一切数字和数值相关内容
○ 整数 : 100, -100, 234
○ 浮点数 : 100.234, -0.456
○ 科学记数法 : 10e5
○ 其他进制表示■ 二进制 : 0b100
■ 八进制 : 0o100
■ 十六进制 : 0x100
○ 无穷 : Infinity
○ 非数字 : NaN

字符串类型(string)

● 被引号包裹的所有内容
○ 单引号 ( ‘’ )
○ 双引号 ( “” )
○ 反引号 ( `` ) var age = 18 var s1 =我是小千, 我今年 ${ age } 岁了

布尔类型(boolean)

● 只有两个(true 或者 false)
● 表示肯定的数据用 true,计算机中存储的就是1
● 表示否定的数据用 false,计算机中存储的就是0

null类型(null)

● 只有一个,就是 null,null值表示一个空对象指针
● 有值,但是是一个空值。
● 使用时需要给变量赋值为null,才能得到null

undefined类型(undefined)

● undefined也叫未定义是比较特殊的类型,本该有个值,但是没有 ,就是undefined
● 只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为
undefined
● 只有一个,就是 undefined,表示没有值的意思

复杂数据类型

对象类型(object)
函数类型(function)

数据类型转换

其他数据类型转成数值

Number(变量)

○ Number(你要转换的数据)
● 转换规则:
○ 把你要转换的内容当做一个整体
○ 如果整体不可以转换为合法数字, 那么就是 NaN(not a number)
● 注意:
○ true 会转换为 1
○ false 会转换为 0

parseInt(变量)

○ parseInt(你要转换的数据)
● 转换规则:
○ 不管你要转换的是什么数据, 都一位一位的看待
○ 如果第一位就不能转换成合法数字, 那么直接给出 NaN, 停止转换
● 注意:
○ 不认识小数点,遇到小数点就不检测了返回整数部分
○ 所以使用 parseInt() 还有一个取整功能

parseFloat(变量)

○ parseFloat(你要转换的数据)
● 转换规则:
○ 和 parseInt 一模一样 ,唯一的区别就是认识一位小数点

除了加法以外的数学运算

● 只要不是进行加法运算, 都可以进行转换数字
○ num - 0
○ num * 1
○ num / 1

其他数据类型转成字符串

toString()

你要转换的数据.toString()
● 注意:
○ 除了 null 和 undefined 以外都行

String()

String(你要转换的数据)
○ 所有数据都能转换

使用加法运算

● 字符串拼接: 只要 + 任意一边是字符串,就会进行字符串拼接

其他数据类型转成布尔

Boolean(要转换的数据)
● 在 js 中,只有 ’ '、0、null、undefined、NaN,这些是 false
● 其余都是 true

运算符

数学运算符

○ 只有符号两边都是数字或者布尔值的时候才会进行加法运算
○ 只要符号任意一边是字符串类型,就会进行字符串拼接

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

赋值运算符

=
○ 就是把 = 右边的赋值给等号左边的变量名
var num = 100

+=
○ 就是在自己的原来的基础上再加上多少

比较运算符

● 比较符号两边的值是否相等,不管数据类型

console.log(1 == 1); // true 
console.log(1 == '1'); // true 

● 比较符号两边的值和数据类型是否都相等

 console.log(1 === 1); //true 
 console.log(1 === '1'); // false 

!=
● 比较符号两边的值是否不等,如果是返回true不管数据类型
!==
● 比较符号两边的数据类型和值是否不等,如果都满足返回true

逻辑运算符

○ 逻辑与(且) &&
○ 逻辑或 ||
○ 逻辑非(取反) !

1 console.log(true && true); // true 
2 console.log(true && false); // false 
3 console.log(false && false); // false 
1 console.log(true || true); // true 
2 console.log(true || false); // true 
3 console.log(false || false); // false 

与或的优先级

顺序:贴身的(! ++ --)→ 数学 → 比较 → 逻辑 → 赋值
练习1:

var a = 4;
    var sum = 1 * (2 + 3) && a++ || 5 > 6 && 7 < 8 || 9;
    console.log(sum)
    贴身的(! ++ --) 1*5 && 4 || 5>6 && 7<8 || 9
    数学 5 && 4 || 5>6 && 7<8 || 9
    比较 5 && 4 || false && true || 9
    逻辑与 4 || false || 9
    逻辑或 4

短路运算

  1. 逻辑且(与)&&
    ○ 当运算符左边为 false 的时候, 右边的代码不执行
    ○ 只有左边的代码为 true 的时候, 右边的代码才执行
  2. 逻辑或 ||
    ○ 当运算符 左边为 true 的时候, 右边的代码不执行
    ○ 只有左边的代码为 false 的时候, 右边的代码才执行

自增自减运算符(一元运算符)

++ - -(相同)
○ 进行自增运算
○ 前置++,会先把值自动 +1,在返回之后参与运算

1 var a = 10;console.log(++a);

2 // 会返回 11,并且把 a 的值变成 11
○ 后置++,会先把值拿来参与运算,运算结束以后在自动+1

1 var a = 10;console.log(a++); 

2 // 会返回 10,然后把 a 的值变成 11

三元运算符

console.log(5>6?1:2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

葛元鑫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值