JavaScript了解 诞生于1995年 LiveScript 更名为 JavaScript (Netscape(网景公司)出品)
JavaScript的概述 JavaScript是一个轻量级的语句,他是单线程的语言(一个线程解析);他是一个弱语言(没有固定的类型划分 给定的值是什么类型 他就是什么类型);他还是一个脚本语言(侵入 实现xss攻击);他是怎么被解析的(有浏览器的地方就能解析对应的JavaScript(v8引擎))
JavaScript的包含的内容 : ECMAScript DOM BOM JavaScript的构成为三方面
ECMAScript (基本语法及相关对象 es3 es5 es6 es7 ...)
DOM(文档对象模型 操作HTML) ,
BOM(浏览器对象模型 操作浏览器)
JavaScript的入门 一.书写方式
-
书写在script标签里面(一般会用到的)
-
书写在js文件里面(推荐) 定义一个js文件(index.js) 引入这个js文件
-
书写对应的事件属性里面(比较少用) 变量定义(使用var关键词声明)
去百度 <a href="#" onclick="alert('hello world')"></a> //var 变量名 = 值 var number = 10
变量名的书写(见名知意 区分大小写)
1.只能是对应的字母或者数字或者下滑线等字符(不能以数字开头) 2.一般采用驼峰命名法(helloWorld 采用单词拼接第一个单词首字母小写 其他单词首字母大写) 3.不能使用关键词(占用之前的关键词的引用空间) 4.普通变量首字母小写 常量全大写(const)
注释(注释相当于解释这个句话 这个注释是不会被编译的) 单行注释 // (ctrl+/) 多行注释 / * * /(alt+shilt+a)
数据类型(值类型 基本数据类型)
number类型(所有的数值 整数int 浮点数float 特殊NaN) String字符串类型(单引号 双引号 都是字符串) boolean类型 (true false) null 空类型 (给的是null值的情况,而不是不给值为空值) undefined 未定义 (当前没有给任何值)typeof undefined //undefined object (对象类型 引用数据类型 null)**不是基本数据类型 使用typeof来查看对应的类型(基本数据类型返回的是对应的类型名 null类型object)
console.log(typeof nul1);//object
console.log(typeof bool);
类型转换
number类型转为string类型 (string>number 隐式转换 toString方法或者String(变量名))
//将对应的number类型转为string类型
var str1 = number.toString()
string转为number (显式转换) 1.Number方法(直接转number类型)
2.使用parseInt方法(转整型)
3.使用parseFloat方法 (转小数)
var str = "1a123.32"
console.log(Number(str)) //NaN
//当将一个内容转为数值的过程中无法被解析就会出现NaN
console.log(parseInt(str)); //1
console.log(parseFloat(str)); //1
//从前到后依次读出,若碰到字母则停止读数,例如第一个就不是数值而是字母,则数值类型变为NaN
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)(-Infinity)
运用Boolean方法 转为布尔类型
将字符串类型转为对应的boolean类型
var str = "abc"
//转为boolean类型 非空就是true 空字符串就是false
var b =Boolean(str) //true
var b1 = Boolean('') //false 若在里面加上空格则为true
将number转为boolean类型
var number = 10
console.log(Boolean(number)) ;//true
console.log(Boolean(NaN));//false
console.log(Boolean(0));//false
//number转为布尔类型 非0和非NaN则为true NaN和0就是false
将undefined和对应的null转为boolean(false)
var un=undefined
console.log(Boolean(un)) //false
console.log(Boolean(null)) //false
将boolean类型转换为number类型(false 0 true1)
将对应的undefined和null转为number类型
undefined 转换之后为NaN null转换后为0
var un
console.log(Number(un)) //NaN
console.log(Number(null)) //0
类型查看 typeOf 查看对应的类型的 null显示的是object (undefined是对应的null的对象扩展,即null是父,undefined是子)
运算符和表达式
1.算术运算 + - * / % ++ --
自增和自减的前置和后置的区别 前置先执行对应的++(--) 再执行对应的代码 后置先执行对应的代码 再执行++(--)
2.逻辑运算
&& 与(同true则为true)
|| 或(有true则为true)
! 非 (取反)
3.比较运算
> < >= <= == != ===(全等 两个类型以及对应的值一样)
==比较值是否一致
===除了判断值还要判断数据类型(证明这两个内容是否是一个内容)
4.赋值运算
= += -= /= *= %=
j+=100 等同于 j=j+100
5.位运算(转为二进制再进行位的变化运算)
• 右移 >>(向右移动n位数)
• 左移 << (向左移动n位数,后面填充0)
• 去掉小数 ~ ~计算顺序 先算括号里面的 ++或-- 再进行乘除取余 再进行+- 再进行比较运算 再逻辑运算 再进行赋值
三元运算符(三目运算符)
表达式(boolean的类型表达式)?true的内容:false的内容
var a = 10
var b = 20
a>b?10:20 //20
"123a"/10?"hello":'hi' //hi
number对应的方法 保留几位小数的方法 .toFixed(想要保留的位数)
总结
Number方法 转为number类型的值 Boolean方法 转为boolean类型的值 String 方法 转为string的值 ( .toString方法和String(变量名)) toFixed 方法 转为字符串 保留多少位小数 ++ 自增和 -- 自减(前置和后置的区别) Infinity 表示无穷大 isNaN 判断是否为NaN typeof 检索对应的类型 (所有的引用类型都是object 其他显示对应的值类型) 表达式(boolean类型表达式)? true的内容 :false的内容 变量名的书写 使用var关键词来声明变量
进制转换
//默认的小数位数是16位 整数位也是16位 超出不能显示
常用的二进制 八进制 十六进制
十进制转换为二进制 除2取余法
二进制转换为十进制 对应的位数* 对应的2的次方,然后将所有的值相加
十进制转8进制 除8取余法
十进制转16进制 除16取余法
toString方法和对应的parseInt方法 里面的参数可以不填,不填默认为十进制
(当变量值以0x或者0X开头时,转换为十六进制)
将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(0X)表示当前是16进制数
var str = '0x6a'
console.log(parseInt(str));
//前面写0的情况下 他会转为对应的8进制或者是10进制 具体看后面的参数
var str = '061'
console.log(parseInt(str,8));
将十进制的数值转换为对应的8进制或者16进制的字符串(toString)
//将10进制的数值转为对应的8 或者 16进制的字符串标签:Java,log,Script,number,var,了解,类型,对应,进制 From: https://www.cnblogs.com/sdcffsdc233/p/16586438.html
//toString
var number = 24
//将对应的10进制转为8进制
console.log(number.toString(8));
//将对应的10进制转为16进制
console.log((106).toString(16));