JavaScript基础
文章目录
Javascript介绍
Javascript是什么
是一门脚本语言,是一门解释型语言,是一门动态类型的语言,是一门基于对象的语言
- 编程语言:需要翻译成计算机所识别的二进制语言,才能够执行
- 脚本语言:不需要编译,可以直接执行
- 常见的脚本语言:t-sql,cmd
js原名不是Javascript,而是Livescript
js的作用?解决用户和浏览器之间的交互问题
js现在可以做什么?
Html:标记语言,展示数据.
Css:美化页面
Javascript:用户和浏览器交互问题,控制页面内容,给网页增加动态的效果
js现在的应用场景
- 网页特效
- 服务端开发(node.js)
- 命令行工具(node.js)
- 桌面程序(Electron)
- App(Cordova)
- 控制硬件物联网(Ruff)
- 游戏开发(cocos2d.js)
JS代码的书写规范
js代码有三种方式
- 在html文件中,script标签中写js代码
- js代码可以在html标签中写
- 在js文件中可以写js代码,但是需要在html的页面中引入,需要在script的标签中写js的路径
js代码的注意问题
- 在一对script的标签中有错误的js代码,那么错误代码后面的js不会执行
- 如果第一队script标签中有错误,不会影响后面的script标签中的js代码执行
- script的标签中可以些什么内容 type=”text/javascript“是标准写法或者language=“javascript”都可以,但是在目前的html页面中都可以省略,原因是:html遵循h5的标准的。
- 有可能会出现这种情况:script可能同时出现type和language的写法
- script可以在页面中出现多个
- script标签一般是放在body的标签的最后,有时候回放到head标签中,讲课的时候都在body标签的后面(body中的最后)
- 如果script标签中是引入外部js文件的作用,那么这对标签中不要写任何js代码,如果要写,重新写一堆script标签,里面写代码
js中的变量
js中存储数据使用变量的方式(名字,值—>数据)
js中申明变量都用var------>存储数据,数据都应该有对应的数据类型
存储一个数字10
变量的申明及赋值
var number= 10;
存储一个名字
varname= "小黑"
变量的作用:用来操作数据的(可以存储,可以读取)
- 变量声明(有var有变量名字,没有值)
变量申明的方式:
var 变量名字;
var number;//变量的申明,此时没有赋值的,
//一次申明多个变量
var x,y,z,k,j;//都是声明变量没有赋值
- 变量的初始化(有var 有变量名字,有值)
//变量初始化(变量申明的同时并且赋值了)
//存储一个数字
var number= 10;
"="的意义:赋值的含义
//存储一个5
var number=5;
//存储真(true)
var flag=(true);
//存储一个null–>相当于是空
var nll = null;
//存储一个对象
var obj = new object();
- js中的每一行代码结束都应该有分号;(写代码有分号的习惯)
- js中的大小写是区分的:varN =10;n
- js中的字符串可以使用单引号,也可以使用双引号
- 变量名的注意问题–变量的命名规范
- 变量的名字要有意义
- 变量名有一定的规则:一般以字母, 符 号 , 下 划 线 开 头 , 中 间 或 者 后 面 可 以 有 符号,下划线开头,中间或者后面可以有 符号,下划线开头,中间或者后面可以有符号,字母,数字
- 变量名一般都是小写
- 变量名如果是多个单词,第一个单词首字母小写的,后面所有的单词的字母都大写的,这种命名方式称为:驼峰命名法
- 不能使用关键字
变量的交换
//交换变量的第一种思路:使用第三方变量
var num1=10;
var num2=20;
//把num1这个变量的值取出来放在temp变量中
temp = num1;
//把num2中的值取出来放在num1变量中
num1= num2;
//把temp变量的值取出来放在num2变量中
num2=temp;
第二种方式交换: 一般适用于数字交换
var num1=10;
var num2=20;
//把num1和num2的值相加,重新赋值给num1
num1=num1+num2;//30
//把num1的值和num2的值取出来,相减的结果赋值给num2
num2=num1-num2;//10
//把num1的值和num2的值取出来,相减的结果赋值给num1
num1=num1-num2;//20
//第三种方式:位运算
var num1=10;
var num2=20;
num1=num1^num2;
num2=num1^num2;
num1=num1^num2;
注释
是解释代码的含义,给其他的程序员看的
注释的方式:
- 单行注释// —一般用在一行代码的上面
- 多行注释/**/ - ----一般是用在函数或者是一段代码的上面
- 代码中如果没有注释,不规范
数据类型
number:数字类型(整数和小数)
string:字符串类型(的值一般都是用单引号或者是双引号括起来)
boolean:布尔类型(值只有两个,true(真1),false(假0))
null:空类型,一个对象指向为空了,此时就赋值为null
undefined:未定义,值只有一个undefined
- 什么情况下结果是undefined
- 变量声明了,但是没有赋值,结果是undefined
- 函数没有明确返回值,如果接收了,结果也是undefined
- 如果一个变量的结果是undefined和一个数字进行计算,结果是NaN,不是一个数字,也没有意义。
object:–>对象
如何获取这个变量的数据类型是什么?使用typeof来获取
typeof 变量名 或者 typeof(变量名)
获取number中的最值
- Number.MAX_VALUE----数字的最大值
- Number.MIN_VALUE—数字的最小值
- 无穷大:Infinity
- 无穷小:-Infinity
- 不要用小数去验证小数
数值判断
- NaN not a number
- NaN与任何值都不相等,包括他本身
- isNaN:is not a number
- 如何验证这个结果是不是NaN,应该使用isNaN()
- 判断结果是不是一个数字可以使用isNaN(变量名或值)
- 想要表示十进制:就是正常的数字
- 想要表示八进制:以0开头
- 想要表示十六进制:0x开头
字符串类型
字符串可以使用单引号也可以使用双引号
字符串的长度如何获取?变量名.length
js中的转义字符
字符串拼接:使用+可以把多个字符串放在一起形成一个字符串
只要有一个字符串,其他的是数字,那么结果也是拼接,不是相加
如果有一个字符串,另一个不是字符串, 使用- 号,此时会发生计算。
浏览器帮助我们自动的把字符串类型转成了数字类型,这种方式叫:隐世转换
Boolean类型
布尔类型:的值有两个,一个是true(真),一个false(假)
计算机内部存储:true为1,false为0
Undefined和Null
- undefined表示一个声明了没有赋值的变量,变量只声明的时候默认是undefined
- null表示一个空,变量的值如果想为null,必须手动设置
类型转换
- 其他类型转数字类型:三种方式
- parseInt();–转整数
- parseFloat()—转小数
- Number();—转数字
- 其他类型转成字符串类型
- 如果变量有意义调用,toString()使用转换
- 如果变量没有意义使用String()转换
- 其他类型转布尔类型
- Boolean(值)
操作符
- 算数运算符 + - * / %
- 算数运算表达式:有算数运算符连接起来的表达式
- 一元运算符:这个操作符只需要一个操作数就可以运算的符号 ++ –
- 二元运算符:这个操作符需要两个操作数就可以运算
- 三元运算符:
- 复合运算符 += -= *= /= %=
- 复合运算表达式:由复合运算符连接起来的表达式
- 关系运算符:> < >= <= ==不严格的 ===严格的 !=不严格的不等 !==严格的不等
- 关系运算表达式:由关系运算符连接起来的表达式,运算结果是布尔类型
- 逻辑运算符:&&—逻辑与—并且 ||–逻辑或—或者!—逻辑非—取反—取非
- 逻辑运算表达式:由逻辑运算符连接起来的表达式
- 赋值运算符:=
运算符的优先级
优先级由高到低
1.() 优先级最高
2.一元运算符 ++ -- !
3.算数运算符 先* / % 后 + -
4.关系运算符 > >= < <=
5.相等运算符 == != === !==
6.逻辑运算符 先&& 后||
7.赋值运算符 =