一、如何编写
1、JavaScript代码存在形式
<! - - 方式一 - - >
<script type "text/javascript" src = "JS文件" >< / script>
<! - - 方式二 - - >
<script type "text/javascript" >
Js代码内容
< / script>
复制代码
2、JavaScript代码存放位置
HTML的head中
HTML的body代码块底部(推荐)
由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。
<script src = "https://www.gstatic.com/og/_/js/k=og.og2.en_US.iF4jnkQuaf0.O/rt=j/t=zcms/m=def/exm=in,
fot/d=1/ed=1/rs=AA2YrTv5-POC4Ks9GtGRdY2ywUWisqz7-Q" >< / script>
<script>
alert( '123' );
< / script>
复制代码
二、变量
JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量。
<script type = "text/javascript" >
/ / 全局变量
name = 'seven' ;
function func(){
/ / 局部变量
var age = 18 ;
/ / 全局变量
gender = "男"
}
< / script>
复制代码
JavaScript中代码注释:
单行 //
多行 /* */
注意:此注释仅在Script块中生效。
三、数据类型
JavaScript 中的数据类型分为原始类型和对象类型:
原始类型
数字
字符串
布尔值
对象类型
数组
“字典”
…
特别的,数字、布尔值、null、undefined、字符串是不可变。
// null、undefined
null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。
undefined是一个特殊值,表示变量未定义
1、数字(Number)
JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。
转换:
parseInt(..) 将某值转换成数字,不成功则NaN
parseFloat(..) 将某值转换成浮点数,不成功则NaN
特殊值:
NaN,非数字。可使用 isNaN(num) 来判断。
Infinity,无穷大。可使用 isFinite(num) 来判断。
更多数值计算:
2、字符串(String)
字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。
常见功能:
1.obj.length 长度
2.obj.trim() 移除空白
3.obj.trimLeft()
4.obj.trimRight)
5.obj.charAt(n) 返回字符串中的第n个字符
6.obj.concat(value, ...) 拼接
7.obj.indexOf(substring,start) 子序列位置
8.obj.lastIndexOf(substring,start) 子序列位置
9.obj.substring( from , to) 根据索引获取子序列
10.obj. slice (start, end) 切片
11.obj.toLowerCase() 大写
12.obj.toUpperCase() 小写
13.obj.split(delimiter, limit) 分割
14.obj.search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效)
15.obj.match(regexp) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
16.obj.replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项,
17. $数字:匹配的第n个组内容;
18. $&:当前匹配的内容;
19. $`:位于匹配子串左侧的文本;
20. $':位于匹配子串右侧的文本
21. $$:直接量$符号
复制代码
3、布尔类型(Boolean)
布尔类型仅包含真假,与Python不同的是其首字母小写。
== 比较值相等
!= 不等于
=== 比较值和类型相等
!=== 不等于
|| 或
&& 且
4、数组
JavaScript中的数组类似于Python中的列表
常见功能:
1.obj.length 数组的大小
2.obj.push(ele) 尾部追加元素
3.obj.pop() 尾部获取一个元素
4.obj.unshift(ele) 头部插入元素
5.obj.shift() 头部移除元素
6.obj.splice(start, deleteCount, value, ...) 插入、删除或替换数组的元素
7. obj.splice(n, 0 ,val) 指定位置插入元素
8. obj.splice(n, 1 ,val) 指定位置替换元素
9. obj.splice(n, 1 ) 指定位置删除元素
10.obj. slice ( ) 切片
11.obj.reverse( ) 反转
12.obj.join(sep) 将数组元素连接起来以构建一个字符串
13.obj.concat(val,..) 连接数组
14.obj.sort( ) 对数组元素进行排序
复制代码
5、语句和异常
1、条件语句
JavaScript中支持两个中条件语句,分别是:if 和 switch
if(条件){
}else if(条件){
}else{
}
复制代码
switch(name){
case '1':
age = 123;
break;
case '2':
age = 456;
break;
default :
age = 777;
}
复制代码
2、循环语句
JavaScript中支持三种循环语句,分别是:
var names = ["alex", "tony", "rain"];
for(var i=0;i<names.length;i++){
console.log(i);
console.log(names[i]);
}
复制代码
var names = ["alex", "tony", "rain"];
for(var index in names){
console.log(index);
console.log(names[index]);
}
复制代码
while(条件){
// break;
// continue;
}
复制代码
6、函数
1、基本函数
JavaScript中函数基本上可以分为一下三类:
/ / 普通函数
function func(arg){
return true;
}
/ / 匿名函数
var func = function(arg){
return "tony" ;
}
/ / 自执行函数
(function(arg){
console.log(arg);
})( '123' )
复制代码
注意:对于JavaScript中函数参数,实际参数的个数可能小于形式参数的个数,函数内的特殊值arguments中封装了所有实际参数。
2、作用域
JavaScript中每个函数都有自己的作用域,当出现函数嵌套时,就出现了作用域链。当内层函数使用变量时,会根据作用域链从内到外一层层的循环,如果不存在,则异常。
切记:所有的作用域在创建函数且未执行时候就已经存在。
function f2(){
var arg = 111 ;
function f3(){
console.log(arg);
}
return f3;
}
ret = f2();
ret();
复制代码
function f2(){
var arg= [11,22];
function f3(){
console.log(arg);
}
arg = [44,55];
return f3;
}
ret = f2();
ret();
复制代码
来自CSDN分享opera95
复制代码