JS运算符的使用 - 算术运算符

初识JavaScript

JavaScript了解

诞生于1995年 LiveScript 更名为 JavaScript (Netscape出品)

JavaScript的概述

JavaScript是一个轻量级的语句,他是单线程的语言(一个线程解析)。他是一个弱语言(他没有固定的类型划分 你给定的值是什么类型 他就是什么类型)他还是一个脚本语言(侵入 实现xss攻击)。他是怎么被解析的(有浏览器的地方就能解析对应的JavaScript(v8引擎))

JavaScript的包含的内容

JavaScript的构成为三方面,ECMAScript (基本语法及相关对象 es3 es5 es6 es7 ...) , DOM(文档对象模型 操作HTML) , BOM(浏览器对象模型 操作浏览器)

JavaScript的入门

书写方式

  1. 书写在script标签里面(一般会用到的)

    <script>
      //语句书写
      console.log('hello world')
    </script>
  2. 书写在js文件里面(推荐)

    定义一个js文件(index.js)

    console.log('hello world')

    引入这个js文件

    <script src="./index.js"></script>js
  3. 书写对应的事件属性里面(比较少用)

    <a href="javascript:void()">去百度</a>
    <a href="#" onclick="alert('hello world')"></a>

变量定义(使用var关键词声明)

//var 变量名 = 值
var number = 10
变量名的书写(见名知意 区分大小写)

1.只能是对应的字母或者数字或者下滑线等字符(不能以数字开头)

2.一般采用驼峰命名法(helloWorld 采用单词拼接第一个单词首字母小写 其他单词首字母大写)

3.不能使用关键词(占用之前的关键词的引用空间)

4.普通变量首字母小写 常量全大写(const)

 

注释

单行注释: //, 多行注释 /* */

数据类型(值类型 基本数据类型)

number类型(所有的数值)

字符串类型 String (单引号 双引号 都是字符串)

boolean类型 (true false)

null 空类型 (是null值的情况)

undefined 未定义 (当前没有给值)

object (对象类型 引用数据类型)
使用typeof来查看对应的类型(基本数据类型返回的是对应的类型名 null类型object)
//类型查看 typeOf 查看对应的类型的 null显示的是object (undefined是对应的null的对象扩展)
console.log(typeof number1);
console.log(typeof bool);
console.log(typeof un);
console.log(typeof nl);
console.log(typeof str);
类型转换
number类型转为string类型 (string>number 隐式转换 toString方法)
//将对应number类型转为string类型
var str1 = number1.toString()
string转为number (显式转换)

1.Number方法(直接转number类型)

2.使用parseInt方法(转整型)

3.使用parstFloat方法 (转小数)

var str2 = "1a123.12a"
console.log(Number(str2));//当你将一个内容转为的数值过程中无法被解析就会出现NaN
//从前到后拿出里面的数值 前面没有数值变成NaN
console.log(parseInt(str2));
console.log(parseFloat(str2));
isNaN 是NaN返回true不是返回false(not a number)
var a = 10
console.log(isNaN(a)) //false
var str = 'abc'
console.log(isNaN(Number(str)))//true
无穷大 无穷小(Infinity)
//无穷大
var max = Infinity
//无穷小
var min = -Infinity
将字符串转为对应的boolean类型

Boolean方法 转为布尔类型

var str = "abc"
//转为boolean类型 非空就是true 空字符串表示false
var b = Boolean(str) //true
var b1 = Boolean('') //false
将number转为布尔类型
var number1 = 10
//number转布尔 非0和非NaN则为true   NaN和0就是false
console.log(Boolean(number1))//true
console.log(Boolean(0))//false
console.log(Boolean(NaN))//false
将undefined和对应的null转为boolean(false)
var un
console.log(Boolean(un)) //false
console.log(Boolean(null)) //false
将boolean类转为number类型 (false 0 true 1)
console.log(Number(true)) //1
console.log(Number(false)) //0
将对应的undefined和null转为number
var un
console.log(Number(un)) //NaN
console.log(Number(null)) //0

运算符和表达式

算术运算
+ - * / % ++ --

自增和自减的前置和后置的区别

前置先执行对应的++(--) 再执行对应的代码

后置先执行对应的代码 再执行++(--)

逻辑运算
&& 与(同true则为true) || (有true就是true) ! 非(取反)
比较运算
> < >= <= == != ===(全等 俩个类型和对应的值一模一样 这个俩个是一个东西)
赋值运算
=  +=  -=  /=  *=  %= 
var j = 10
j+=100 //j=j+100
j/=10 //11
j*=5 //55
console.log(j);
位运算(转为二进制再进行位的变化运算)
>> 右移  << 左移  ~~ 去掉小数

计算顺序 先算括号里面的 ++或-- 再进行乘除取余 再进行+- 再进行比较运算 再逻辑运费 再进行赋值

 

三元运算符(三目运算符)
表达式(boolean类型表达式)? true的内容 :false的内容
var a = 10
var b = 20
a>b?10:20 //20
'123a'/10?'hello':'hi'//hi
number对应的方法

保留几位小数的方法 toFixed

var number1 = 3
var number2 = 10
//默认的大小16位 整数位也是16位 超出不能显示(问题)
console.log(number2/number1);
//保留小数(方法会优先调用) 转成字符串
console.log((number2/number1).toFixed(3));

总结

  • Number方法 转为number类型的值

  • Boolean方法 转为boolean类型的值

  • String 方法 转为string的值 (toString方法)

  • toFixed 方法 转为字符串 保留多少位小数

  • ++ 自增 和 -- 自减(前置和后置的区别)

  • Infinity 表示无穷大

  • isNaN 判断是否为NaN

  • typeof 检索对应的类型 (所有的引用类型都是object 其他显示对应的值类型)

  • 变量名的书写 使用var关键词来声明变量

进制转换(扩展内容)

常用的进制 二进制(计算机能识别的基础) 四进制 八进制 (逢8进1)十六进制(逢16进1) 十进制(常用的)

十进制转二进制 (除2取余法)
二进制转十进制 根据对应的位数乘以对应的2的次方将所有值相加
十进制转8进制 (除8取余)
十进制转16进制 (除16取余)
toString方法和对应的parseInt方法 里面的参数可以填可以不填 不填默认转为10进制
通过拿到8进制 16进制 2进制的内容得到一个十进制的数(parseInt parseFloat)
//将对应的8 或者 16进制等转为10进制的数值
var number = "30" //八进制的内容
//将对应的八进制30转为10进制
console.log(parseInt(number,8));
var str = '6a'
console.log(parseInt(str,16));
//前面写了0x表示当前是16进制数
var str = '0x6a'
console.log(parseInt(str));
//前面写0的情况下 他会转为对应的8进制或者是10进制 具体看后面的参数
var str = '061'
console.log(parseInt(str,8));
将10进制的数值转为对应的8 或者 16进制的字符串 (toString)
//将10进制的数值转为对应的8 或者 16进制的字符串
//toString
var number = 24
//将对应的10进制转为8进制
console.log(number.toString(8));
//将对应的10进制转为16进制
console.log((106).toString(16));
 

 

posted @ 2022-07-25 17:29  落尘寰  阅读(103)  评论(0)    收藏  举报