一、如何编写?

1.JavaScript代码存在形式



<!DOCTYPE html>
<html>
<head>
		<meta http-equiv="content-type" content="text/html;charset=utf8">
		<title>JS1</title>
		
</head>	
<body>

	<!-- 方式一 -->
    <script type="text/javascript" src="JS文件"></script>
    
    <!-- 方式二 -->
    <script type="text/javascript">
        Js代码内容
    </script>
</body>
</html>



2.JavaScript存放位置 

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。 

脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。

这里,推荐放在body体底部;

3.注释

JavaScript 不会执行注释。

我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。

单行注释以 // 开头。



// 输出标题:
document.getElementById("myH1").innerHTML="欢迎来到我的主页";
// 输出段落:
document.getElementById("myP").innerHTML="这是我的第一个段落。";



多行注释以 /* 开始,以 */ 结尾。



/*
下面的这些代码会输出
一个标题和一个段落
并将代表主页的开始
*/



二、变量

JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量。

JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。



var x=5;
var y=6;
var z=x+y;



变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

JavaScript 语句和 JavaScript 变量都对大小写敏感。



<script type="text/javascript">
   
    // 全局变量
    name = 'seven';
   
    function func(){
        // 局部变量
        var age = 18;
   
        // 全局变量
        gender = "男"
    }
</script>



三、数据类型 

JavaScript 中的数据类型分为原始类型和对象类型:

  • 原始类型
  • 数字
  • 字符串
  • 布尔值
  • 对象类型
  • 数组
  • 字典
  • ...

1.数字

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  •  NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断。

2.字符串

字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。

常见功能:

obj.length 获取当前字符串长度
obj.trim() 移除空白
obj.trimLeft()
obj.trimRight)
obj.charAt(n) 返回字符串中的第n个字符
obj.concat(value, ...) 拼接
obj.indexOf(substring,start) 子序列位置
obj.lastIndexOf(substring,start) 子序列位置
obj.substring(from, to) 根据索引获取子序列---起始位置,结束位置
obj.slice(start, end) 切片
obj.toLowerCase() 大写
obj.toUpperCase() 小写
obj.split(delimiter, limit) 分割
obj.search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效)
obj.match(regexp) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个。
obj.replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项,
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号

3.布尔类型

布尔类型仅包含真假,与Python不同的是其首字母小写。

  • ==      比较值相等
  • !=       不等于
  • ===   比较值和类型相等
  • !==    不等于
  • ||        或
  • &&    且

4.数组

JavaScript中的数组类似于Python中的列表。

常见功能:



obj.length          数组的大小
obj.push(ele)       尾部追加元素
obj.pop()           尾部获取一个元素
obj.unshift(ele)    头部插入元素
obj.shift()         头部移除元素
obj.splice(start, deleteCount, value, ...)  插入、删除或替换数组的元素
                    obj.splice(n,0,val) 指定位置插入元素
                    obj.splice(n,1,val) 指定位置替换元素
                    obj.splice(n,1)     指定位置删除元素
obj.slice( )        切片
obj.reverse( )      反转
obj.join(sep)       将数组元素连接起来以构建一个字符串
obj.concat(val,..)  连接数组
obj.sort( )         对数组元素进行排序



四、for循环和条件语句

1.for循环

循环时,循环的元素是索引



<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf8">
		<title>JS1</title>
		
	</head>	
	<body>
		<script>
			var names = ["cc", "tony", "rain"];
	    	for(var i=0;i<names.length;i++){
	        	console.log(i);
	        	console.log(names[i]);
	    	}
		</script>
	
	</body>
</html>



执行结果:

python jsdom使用详解_python