初识JavaScript
一、JavaScript语言介绍
1.JavaScript诞生于1995年,由Netscape(网景公司)创造,9月更名为LiveScript。
2.JavaScript的版本有ES1、ES2、ES3、ES5、ES6、ES7...等等(主要是ES3、5、6、7)。
3.JavaScript是脚本语言,轻量级的语言,他是单线程的语言(一个线程解析),他是一个弱语言(没有固定的类型划分,给什么就是什么)他是怎么被解析的(有浏览器的地方就能解析对应的JavaScript(v8引擎))
4.JavaScript有三部分组成:
1. 核心(ECMAScript) 基础(语法、类型、语句、关键字、保留字、操作符、对象等)
2. 浏览器对象模型(BOM) 浏览器对象模型 提供与浏览器交互的方法和接口(API) 操作浏览器
3. 文档对象模型(DOM) 文档对象模型,提供访问和操作网页HTML内容的方法和接口
5.JavaScript入门
工具:HBuilder,Sublime Text, Dreamweaver,Notepad++, 文本等
书写方式:
5.1 书写在script标签里面(一般会用到的)<script> </script>
5.2 书写在js文件里面(推荐)
先定义一个js文件(index.js)再引入这个js文件<script src="./index.js"></script>j
5.3 书写对应的事件属性里面(比较少用)
<a href="#" onclick="alert('hello world')"></a>
二、JS变量、关键词、命名规则
变量定义(使用var关键词声明)
var 变量名 = 值 var number = 10 多个变量用逗号分隔
变量的命名规范
1. 变量名可以是数字,字母,下划线_和美元符$组成;
2. 第一个字符不能为数字
3. 不能使用关键字或保留字
4. 标识符区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
5. 变量命名尽量遵守驼峰原则: myStudentScore
6. 变量命名尽量见名思意
单行注释(ctrl+/) // 单行注释
多行注释 (alt+shilt+a) /*多行注释 */
三、JS数据类型
1.JS数据类型一般可以分为: (注意: 变量的类型在赋值时才能确定)
Boolean: 布尔类型(true false)
Number:数字(整数int,浮点数float )
String:字符串(单引号 双引号)
Object:对象 (包含Array数组 )
Null: 空类型(值为null)
Undefined:未定义 (当前没有给值)
2.使用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);
3.类型转换(想转为什么类型就加什么类型的“”前缀“”)
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));
将字符串转为对应的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
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
四、JS运算符的使用-算术运算符
计算顺序 先算括号里面的 ++或-- 再进行乘除取余 再进行+- 再进行比较运算 再逻辑运费 再进行赋值
算术运算符 : +,-, *, /, %(取余数)
字符串和变量的拼接: +
关系运算符 : <、>、<=、>=、==、===、!=, !==
逻辑运算符 : && 与(且)、|| 或、! 非
赋值运算符 : =、+=、-=、*=、/=、%=
自增、自减 : ++a, a++, --a, a--
位运算(转为二进制再进行位的变化运算): >> 右移 << 左移 ~~ 去掉小数
三元运算符(三目运算符):表达式(boolean类型表达式)? true的内容 :false的内容
自增和自减的前置和后置的区别
前置先执行对应的++(--) 再执行对应的代码
后置先执行对应的代码 再执行++(--)
保留几位小数的方法 toFixed
var number1 = 3
var number2 = 10
//默认的大小16位 整数位也是16位 超出不能显示(问题)
console.log(number2/number1);
//保留小数(方法会优先调用) 转成字符串 c
onsole.log((number2/number1).toFixed(3));
JS代码规范:
1. 保持代码缩进
2. 变量名遵守命名规范, 尽量见名思意
3. JS语句的末尾尽量写上分号;
4. 运算符两边都留一个空格, 如:var n = 1 + 2;
五、进制转换(扩展内容)
常用的进制 二进制(计算机能识别的基础)四进制 八进制 (逢8进1)十六进制(逢16进1)十进制(常用的)
十进制转二进制 (除2取余法)
二进制转十进制 根据对应的位数乘以对应的2的次方将所有值相加
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));