JavaScript基础 | 青训营笔记

63 阅读4分钟

JavaScript三大组成

ECMAScript:核心语法
DOM:JavaScript对html结点进行操作,规范由W3C制定,文档对象模型
BOM:对浏览器进行操作,如前进后退关闭窗口弹窗,无规范,只有默认行规,浏览器对象模型

嵌入JavaScript的方式:

行间事件: <input type="button" value="hello" onclick="alert('哈哈哈')" />

在标签里加事件句柄,所有事件句柄都是事件前面加on

脚本块:

<script type="text/javascript">
	alert('达到');
	alert('dd');
</script>

自上而下逐行执行,可不以分号结尾,位置不限,head和body都可以,只是装载的时间不同

引入外部js文件: <script type="text/javascript" src="1.js"></script>

可以引入多次,任意位置,如果有src则会忽略该script语句块内所有标记,只是该script

JavaScript变量:

大小写敏感
var a,b,c=300;
弱类型语言,变量类型可变,c赋值为300,a和b为默认值undefined,undefined就是一个值 函数优先级较高,所以可以在声明前调用函数
不带var直接给变量赋值为全局变量,如 tf="aaa"

数据类型:
String字符型,单或双引号括起来,单双引号可以嵌套使用
Number数值型,整型、浮点型、内部常量、特殊值
内部常量:
Math.E:自然数
Math.PI:圆周率
Math.SQRT2:二的平方根
Math.SQRT1_2:二分之一的平方根
Math.LN2:2的自然对数
Math.LN10:10的自然对数
Math.LOG2E:以2为底的e的对数
Math.LOG10E:以10为底的e的对数
特殊值:
Infinity:无穷大
Number.NaN:非数字值,not a number
Number.MAX_VALUE:可表示的最大的数
Number.MIN_VALUE:可表示的最小的数
Number.NEGATIVE_INFINITY:负无穷大,溢出时返回该值
Number.POSITIVE_INFINITY:正无穷大,溢出时返回该值
Boolean布尔型,true、false
Null,null,已经赋值了,但值是空
Undefined,undefined,变量不存在或没赋值
Object对象,对象是属性和方法(函数)的集合

转义字符:\b退格符 \f换页符 \n换行 \r回车 \uhhhh编码转换 \t水平制表符 '单引号 "双引号 \反斜线

注释://或/* */z

消息对话框:

告警框:alter(),只有确认键
确认框:confirm(),确认返回true,取消返回false
提示框:prompt("提示信息",默认值),用于提示用户输入某个值,按取消返回null,可设默认值

算术运算符与表达式:

字符串能转化为数字才能用一些运算符,否则结果为NaN
加法:34+3=37、"ad"+"sd"="adsd"、"fss"+3="fss3"、"34"+"4"="344
减法:23-4=19、-(-34)=34、-"-2"=2、"54"-4=50
乘法:33=9、3"4"=12
除法:3/3=1、6/"2"=3
取余:%
自增自减:++、--
关系运算符与表达式:
==、<=、>=、!=、<、>
===全等于(表示两个数据值与类型均相等)
!==非全等于(值与类型有一个或两个都不等)
数据的类型转换与比较具体看书上282页
逻辑运算符与表达式:
&&、||、!
赋值运算符与表达式:
=、+=、-=、*=、/=、%=
位运算符与表达式:
&:二进制都为1为1
|:二进制1个为1则为1
~:二进制全部取反
^:二进制相同为0不同为1
条件运算符与表达式:
?:三元运算符
其他运算符与表达式:
逗号运算符:(,),括号括起来逗号隔开,表达式取最后一个值,无括号取第一个
新建对象运算符:new,创建对象实例或数组
删除运算符:delete,删除一个对象的属性或某个数组的元素
类型运算符:typeof

JavaScript程序控制结构:

顺序结构
分支结构
循环结构,

for(variable in object),如
for(var a in screen)document.write(a+":"+screen[a]+"<br>")

JavaScript函数:

常用系统函数:
全局函数:不属于任何一个内置对象,使用时不需要加任何对象名称,直接调用
decodeURI():解码某个编码的URI
decodeURIComponent():解码一个编码的URI组件
encodeURI():把字符串编码为URI
encodeURIComponent():把字符串编码为URI组件
eval():计算JavaScript字符串,并把它作为脚本代码来执行
escape():对字符串进行编码
unescape():对由escape()编码的字符串进行解码
parseFloat():解析一个字符串并返回一个浮点数,即字符型转换为浮点型
parseInt(string,radix):解析字符串并返回一个整数,radix代表基数,字符串的进制
getClass():返回一个JavaObject的JavaClass
isNaN():检查某个值是否是非数
isFinite():检查某个值是否为有穷大的数
Number():把对象的值转换为数字
String():把对象的值转换为字符串
对象定义的函数:依赖于对象,要加对象名称,顶层对象window除外
number.toString(radix):将number类型转发为字符串,radix为进制
number.toFixed(n):将浮点数转换为固定小数点位数的数字,n是小数点位数
string.indexOf(searchvalue,formindex):
从前向后搜索字符串,找到返回首次出现的位置,没有则-1
string.lastIndexOf(searchvalue,formindex):
从后向前搜索字符串,找到返回最后出现的位置,没有则-1
string.charAt(index):返回指定位置的字符
string.substring(start,stop):用于提取从start到end(不包括该元素)之间的字符串
自定义函数:用function定义