JavaScript学习笔记(正在学)(下)

简介: JavaScript学习笔记(正在学)(下)

检查文件类型


//可以使用一个运算符 typeof
//来检查一个变量的类型
//语法: typeof 变量
console. log(typeof a);


字符串


//输出字面量字符串str       
alert("str")
//输出变量str
alert(str)


Number


在JS中所有的数值都是 Number类型,包括整数和浮点数(小数)

如果使用 Number表示的数字超过了最大值,则会返回ー个Infinity表示正无穷

NaN是一个特殊的数字,表示 Not A Number

如果使用JS进行浮点运算,可能得到一个不精确的结果:所以千万不要使用JS进行对精确度要求比较高的运算


 console.log(Number.MAX_VALUE); //输出能显示的最大数值


Null和 Undefined


Null(空值)类型的值只有一个,就是null


Null这个值专门用来表示一个为空的对象


使用typeof检查一个null值时,会返回object


Undefined(未定义)类型的值只有一个,就undefind


当声明一个变量,但是并不给变量赋值时,它的值就是undefined


使用typeof检查一个undefined时也会返回undefined



强制类型转换


转字符串


方式一:


  • 调用被转换数据类型的tostring()方法
  • 该方法不会影响到原变量,它会将转换的结果返回


方法二:


使用String();

使用String()函数做强制类型转换时,

对于Number和Boolean实际上就是调用的toString()方法

但是对于null和undefined,就不会调用toString()方法

它会将null直接转换为"null"

将undefined直接转换为"undefined"


/*方法一:
调用a的tostring()方法
调用xxx的yyy()方法,就是xxx.yyy()
*/
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        var a=123;
        /*var b=a.toString();
        console.log(typeof a);//return number
        console.log(typeof b);//return string
        */
        a=String(a);//注意S要大写
    </script>
</head>
<body>
</body>
</html>


转Number


方式一:


使用Number() 函数 N要大写


字符串一>数字


如果是纯数字的字符串,则直接将其转换为数字

如果字符串中有非数字的内容,则转换为NaN

如果字符串是一个空串或者是一个全是空格的字符串,则转换为0

布尔一>数字


true转成1

fa1se转成0

Null 一>数字为0


Undefined一>数字为NaN


方式二:


  • parseInt可以将一个字符串中的有效的整数内容去出来,然后转换为Number
  • ParseFloat作用和parseInt类似,不同的是它可以获得有效的小数
  • 如果对非String使用parseInt()或parseFloat()它会先将其转换为String,然后操作


其他进制的数字


表示16进制的数字,则需要以0X开头(x大写小写都可以)


表示8进制的数字,则需要以0开头


表示8进制的数字,则需要以0b开头(b大写小写都可以,不是所有浏览器都支持)


像a=“070”用parseInt后有的浏览器会解析成八进制,有的会输出70,这个时候使用parseInt(a,10)表示10进制解析字符串a


调用Boolean()函数将其他类型转为布尔值


数字返回除了0和NaN,其余都是true

字符串返回除了空字符串,其余都是true

null和undefined都是false


对象会转化为true


注意其输出结果是十进制形式


运算符


typeof他将该值的类型以字符串的形式返回(number、string、boolean、undefined、objected)


+、-、*、/、%(当对非number类型进行计算时,先转换为number再进行运算,true=1,false=0,null=0,任何值和NaN运算结果都为NaN,如果对两个字符串进行拼接并返回)


加法:任何数值和字符串进行基本运算,现将数值转换成字符串,然后进行拼接


其余的都是将,字符串变成数值再减(利用此性质可以让string-0变成number)


var a=123;
a=a+"";
console.log(typeof a);
console.log("a = "+a);//输出"a=123"
result = 1+2+"3" //输出“33”
result = "1"+2+3 //输出“123”
var a=100;
a=a-'2'
console.log(a); //输出98


  • 对于非Number类型的值
  • 它会将先转换为Number,然后再运算
  • 可以对一个其他的数据类型使用+,来将其转换为number
  • 它的原理和Number()函数一样
  • 逻辑运算符
  • 与 &&
  • 或 ||
  • 非 !


var a="hello";
a=!!a;          //output true
//&& 有短路性质 当第一个为false时 后面的被短路


自增自减


a++;    //这里和C语言一样
++a;
相关文章
|
6天前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
25天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
33 0
|
5月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
53 0
webgl学习笔记3_javascript的HTML DOM
|
5月前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
44 0
|
5月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
5月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
45 0
|
11月前
|
存储 JavaScript 前端开发
【js】函数概述学习笔记(8)
【js】函数概述学习笔记(8)
36 0
|
11月前
|
存储 JavaScript
【js】数组学习笔记(7-2)
【js】数组学习笔记(7-2)
57 0
|
11月前
|
JavaScript 索引
【js】数组学习笔记(7-1)
【js】数组学习笔记(7-1)
45 0