JS基础
简介:
js是一种弱类型语言,是javaScript的缩写形式,
基于对象和事件驱动并且具有相对安全性的客户端脚本语言
classname和style的使用:
classname和style不可同时使用,
style会引起重排和重绘
循环语句和判断语句
循环语句:
- for
- for in
判断语句:
- if (else)
- swich
三目运算符:a>b ? a:b
a>b=true ,返回a;
a>b=false,返回b;
什么为真:
1.非空字符串 2.非空对象 3.非0数字
Nall 和 NaN 都为假
数据类型:{
function
object
number
boolean
string
singbol ( 顶头对象,es6新增的一种数据类型)
(undefind 和 null(说是就是说不是就不是)它们是空指针)
}
字符串的方法:
-
concat() :将两个或多个字符的文本组合起来,返回一个新的字符串。
-
indexOf():返回字符串中一个子串第一处出现的索引 没有匹配项,返回 -1
-
charAt():返回指定位置的字符。
-
lastIndexOf():返回一个子串最后一处出现的索引,没有匹配项,返回 -1
-
match():检查一个字符串是否匹配一个正则表达式。
-
substring():返回字符串的一个子串。传入参数是起始位置和结束位置。
-
replace(): 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串
-
search(): 执行一个正则表达式匹配查找,查找成功返回字符串中匹配的索引值,否则返回 -1 。
-
slice(): 提取字符串的一部分,并返回一个新字符串。
-
split(): 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
-
length:返回字符串的长度,所谓字符串的长度是指其包含的字符的个数
toLowerCase() – 将整个字符串转成小写字母。
toUpperCase() – 将整个字符串转成大写字母
数组的方法:
- concat():连接两个或更多的数组,并返回结果。
- join():把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
- pop():删除并返回数组的最后一个元素
- push():向数组的末尾添加一个或更多元素,并返回新的长度。
- reverse():颠倒数组中元素的顺序。
- shift():删除并返回数组的第一个元素
- slice():从某个已有的数组返回选定的元素
- sort():对数组的元素进行排序
- splice():删除元素,并向数组添加新元素。
- toSource():返回该对象的源代码
- toString():把数组转换为字符串,并返回结果
- toLocaleString():把数组转换为本地数组,并返回结果。
- unshift():向数组的开头添加一个或更多元素,并返回新的长度。
- valueOf():返回数组对象的原始值
Math()方法:
舍入方法:
Math.ceil():执行向上舍入,即它总是将数值向上舍入为最接近的整数。
Math.floor():执行向下舍入,即它总是将数值向下舍入为最接近的整数。
Math.round():执行标准舍入,即它总是将数值四舍五入为最接近的整数。
方 法 说 明 :
-
Math.abs(num):返回num的绝对值
-
Math.exp(num):返回Math.E的num次幂
-
Math.log(num):返回num的自然对数
-
Math.pow(num,power):返回num的power次幂
-
Math.sqrt(num):返回num的平方根
-
Math.acos(x):返回x的反余弦值
-
Math.asin(x):返回x的反正弦值
-
Math.atan(x):返回x的反正切值
-
Math.atan2(y,x):返回y/x的反正切值
-
Math.cos(x):返回x的余弦值
-
Math.sin(x):返回x的正弦值
random()方法
Math.random()方法返回介于0到1之间一个随机数,不包括0和1。如果想大于这个范围的话,可以套用一下公式:
值 = Math.floor(Math.random() * 总数 + 第一个值)
例:alert(Math.floor(Math.random() * 10 + 1)); //随机产生1-10之间的任意数
返回x的正弦值
Math.tan(x)
返回x的正切值
在javascritp中,有两个关于定时器的专用函数,分别为:
1.倒计定时器:timename=setTimeout("function();",delaytime);
2.循环定时器:timename=setInterval("function();",delaytime);
<script> //定时器 异步运行 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </script>
循环中加事件,事件中使用i 怎样解决?
1.添加自定义属性
2.用封闭空间
循环中用定时器,定时器中使用i 怎样解决?
使用封闭空间
封闭空间作用:解决i的问题 解决变量名冲突的问题
如何获取非表单元素的内容
inner.html
如何获取表单元素的内容
value
es6中拼接字符串都用反引号${}
Form表单和Ajax的区别:
-
Ajax在提交、请求、接收时,都是异步进行的,网页不需要刷新;
Form提交则是新建一个页面,哪怕是提交给自己本身的页面,也是需要刷新的; -
Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,
用户感觉不到实际上浏览器发出了请求; -
Ajax在提交时,是在后台新建一个请求;
Form却是放弃本页面,而后再请求; -
Ajax必须要使用JS来实现,不启用JS的浏览器,无法完成该操作;
Form却是浏览器的本能,无论是否开启JS,都可以提交表单; -
Ajax在提交、请求、接收时,整个过程都需要使用程序来对其数据进行处理;
Form提交时,却是根据你的表单结构自动完成,不需要代码干预.