JavaScript的简介
JavaScript诞生于1995年;(Netscape出品)
JavaScript是一种轻量级的语句,单线程的弱语言 ,同时它也是一个web开发的脚本语言;
(浏览器的脚本语言,可以在有浏览器的地方编译运行)
JavaScript构成:ECMAScript BOM DOM
ECMAScript:基本语法和相关对象
BOM:浏览器对象模型,提供与浏览器交互的方法和接口,操作浏览器
DOM:文档操作模型,提供访问和操作网页HTML内容的方法和接口
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.一般采用驼峰命名法(首字母小写,后面单词字母大写——hardWork)
3.不能使用关键字或保留字(只用之前关键字的引用空间)
4.变量名命名尽量见名思意
5.普通变量首字母小写,常量全大写(const)
js使用的关键字和保留字如下图所示:
注释——解释这句话,不会被编译
1.单行注释 —— //
2.多行注释—— /* */
JS的数据类型
1.number:整型和浮点型,涵盖所有的数值 (NaN(Not a Number)——非数值)
number保留几位小数的方法:toFixed
var number2 = 10
//默认的大小16位 整数位也是16位 超出不能显示(问题)
console.log(number2/number1);
//保留小数(方法会优先调用) 转成字符串
console.log((number2/number1).toFixed(3));
2.string:字符串类型(单引号和双引号)
3.boolean:true和false
4.null:空类型
5.undefined:未定义
object (对象类型 引用数据类型)
使用typeof来查看对应的类型(基本数据类型返回的是对应的类型名 null类型object)
number string boolean object undefined function
//类型查看 typeOf 查看对应的类型的 null显示的是object (undefined是对应的null的对象扩展)
var num = 123;
console.log(typeof num);
JS数据类型转换
1.number类型转为string类型
string>number 隐式转换 toString方法
//将对应number类型转为string类型
var str1 = number1.toString()
2.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));
3.string转为对应的boolean类型
转为boolean类型 非空就是true 空字符串表示false
var str = "abc"
var b = Boolean(str) //true
var b1 = Boolean('') //false
4.number转为boolean类型
number转布尔 非0和非NaN则为true NaN和0就是false
var number1 = 10
console.log(Boolean(number1))//true
console.log(Boolean(0))//false
console.log(Boolean(NaN))//false
5.undefined和对应的null转为boolean——false
var un
console.log(Boolean(un)) //false
console.log(Boolean(null)) //false
6.boolean类型转为number类型
false —— 0
true —— 1
console.log(Number(true)) //1
console.log(Number(false)) //0
7.将对应的undefined和null转为number
undefined —— NaN
null —— 0
var un
console.log(Number(un)) //NaN
console.log(Number(null)) //0
isNaN 是NaN返回true不是返回false
var a = 10
console.log(isNaN(a)) //false
var str = 'abc'
console.log(isNaN(Number(str)))//true
无穷大与无穷小
//无穷大
var max = Infinity
//无穷小
var min = -Infinity
JS运算符与表达式
1.算术运算符
+,-, *, /, %(取余数),++ ,–
***自增和自减的前后置区别:
前置:先执行对应的自增或者自减,再执行代码;
后置:先执行代码,再执行对应的自增或自减;
2.逻辑运算符
&& 与、|| 或、! 非
3.比较运算符
<、>、<=、>=、、=(全等 两个值完全一样)、!= 、!==
== 比较值是否一致(值属于常量不能变的,唯一的地址)
=== 除了判断值还要判断数据类型(证明这两个内容是否一个内容)
console.log("123"==123);//true
console.log("123"===123);//false
4.赋值运算符
=、+=、-=、*=、/=、%=
var j = 10
j+=100 //j=j+100
j/=10 //11
j*=5 //55
console.log(j);
4.位运算——转为二进制再进行位的变化运算
右移 >> 左移 << 去掉小数 ~~
5.三元运算符(三目运算符)
表达式(boolean类型表达式)? true的内容 :false的内容
var a = 10
var b = 20
a>b?10:20 //20
'123a'/10?'hello':'hi'//hi
进制转换 —— 二进制、八进制、十进制、十六进制
在计算机处理器内部只认识二进制
十进制转二进制、八进制、十六进制 —— 除以对应的进制数取余(toString)
//将10进制的数值转为对应的8 或者 16进制的字符串
//toString
var number = 24
//将对应的10进制转为8进制
console.log(number.toString(8));
//将对应的10进制转为16进制
console.log((106).toString(16));
二进制、八进制、十六进制转十进制 —— 根据对应的位数乘以对应的进制数的次方,再将所得数相加(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));
toString方法和对应的parseInt方法 里面的参数可以填可以不填 不填默认转为10进制
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/277129.html