初识JavaScript
javaScript诞生:
诞生于1995年,原名LiveScript,更名为JavaScript,Netscape研发。
javaScript特点:
轻量级语言,单线程语句(一个线程解析),弱语言(没有固定类型,给定数值类型),脚本语言(可侵入,实现xss攻击)
能被v8引擎解析,所有浏览器已经支撑。
javaScript内容:
ECMAScript(基本语法及相关对象es3及以上),DOM(文档对象模型,操作HTML),BOM(浏览器对象模型,操作浏览器)
书写javaScript:
- 写在<script>标签内
- 写在外部js文件中
- 写在对应事件属性中
变量定义(使用var关键词声明):
var变量=值
变量命名
- 见名知意,驼峰法;
- 数字,字母,下划线 美元符$;不能以数字开始,不能使用关键字(会占用之前的关键词引用空间)。
- 普通变量首字母小写,常量全大写,标识符区分大小写
前缀,fn:函数;re:正则。
注释:解释语句,不会被浏览器编译
单行注释:// ctrl+/
多行注释:/* */ alt +shift+a
数据类型:
number类型:所有数值
string字符串类型:单引号,双引号都是字符v
boolean布尔型:true false
null空类型:
undefined:
null和undefined的区别:
- null是一个特殊的关键字,使用typeof会返回字符串 ‘object’ ,通常表示数值,字符串,及对象没有值。
- undefined是一个预定义的全局常量,该常量初始化值为undefined,使用typeof返回undefined,表示值不存在。 如:变量值未初始化,查询不存在的对象属性或者数组元素,没有明确返回值的函数返回的值也是undefined。
- null表示程序级别,正常或者意料之中的没有值;undefined表示一种系统级别,意料之外或类似错误的没有值。
- null==undefined,null不等于≠==undefined。两者相等,但不全等于,假性值相等,都可为false。
可使用tupeof来查看对应类型
类型转换:
typeof:查看数据类型
number转string
tosString方法(隐式转换)
string转number(显示转换)
- .number方法,直接转 number类型
- parseInt:转整型
- parseFloat:转小数
isNaN判断数据类型是否NaN:
是返回true,不是false
无穷:
无穷大:infinity
无穷小:-infinity
布尔类型转换:
非空即为true
Boolean()方法转为布尔类型
数值型:非0和NaN即为true
undefined和对应的null为Boolean为false
将boolean类转为number类型:false 0 ;true 1
将对应的null转为number:0
undefined转为number:NaN
运算符和表达式:
算术运算:+ - * / %
String +number=String :发生连接操作,自动转为string.
// - * / % 全部转为number类型进行操作。
‘12’-1=11;
true-1=0;
unde-1=NaN; 出现NaN计算结果就是NaN
null-1=-1;
注:string大于number,Boolean ,null ,undefined小于number
取余,取模:大数取余小数,得到的是余数 ,小数取余大数得到小数。
++;--前置后置的区别:
前置先执行对应++ --,再执行对应的代码。
优先级:先算括号里的,再看++,--,再乘除取余,最后加减,再进行比较运算,再逻辑运算,最后赋值运算
逻辑运算:&&,||,!非
&&:同true则为true;||有true则是true;!取反
比较运算:
// > < >= <= == != === 全等,两边数值类型完全相同
位运算:转为二进制在进行位的变化运算
// >> << :补零操作 ~:去掉小数
注:怎样快速从2得到8:var i = 2;console.log(2
<<2);
三元运算符(三目运算符)
表达式(boolean类型表达式)
?true的内容:false的内容
var a=10 ;
var b=10;
a>b?10:20; //20
'123a'/10?'hello':hi); //hi '123a'/10=NaN
number对应的方法:
保留几位小数的方法:
默认保留16位小数,整数位也是位,超出不显示。2……-32
var number1=3;
var number2=10
console.log(number2/number1)
保留小数(方法会优先调用),原理:转成字符串对其做截取操作。
console.log((number2/number1).toFixed(3));
保留三位小数,但数据类型变为字符型。
toFIxed()转为字符串,保留多位小数。
进制转换:
十进制转二进制(除2取余)
十进制转8进制(除8取余)
十进制转16进制(除16取余)
二进制转十进制,根据对应的尾数乘以对应的2的次方将所有值相加
将二进制,八进制,十六进制转换为十进制(parseInt,parseFloat)
将十进制转成二进制,八进制,十六进制(number.toString(8))55
前面写0x表示当前是一个16进制数
前面写0 ,当前为十进制还是八进制具体还是看后面的数值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律