今日理解之js

JavaScript
	是前端的一门编程语言(也是有逻辑)
	
	node.js  支持前端js代码 跑在后端服务器上
	
	Js跟Java什么关系?
		Js跟Java半毛钱关系都没有!!!
		原因是当初Java特别火 想蹭热度 
	
	js是网警公司开发的  该公司想让所有的浏览器都支持该语言
	折中 改个名字 js也叫ECMAScript(两者等价)
	
	当前使用较多的版本
		2011	ECMAScript 5.1	版本变更
		新出来
		2015	ECMAScript 6	添加类和模块
	
	

JS
	注释
		// 单行注释
		/*
			多行注释1
			多行注释2
		*/
	
	js的引入方式
		1.script标签内部直接书写
			<script>
				alert(123)
			</script>
		2.通过script标签src书写 引入外部js文件
			<script src="js.js"></script>
		

	Js里面的变量
		在js中声明变量需要使用关键字
			var  声明的是全局有效
			let  可以只在局部有效(ES6新语法)
			
			var name = 'jason'
			let name = 'oscar'
		
		js中变量的命名规范
			1.数字 字母 下划线 $       
			2.不能用关键字作为变量名
			3.推荐你使用驼峰题命名
				python推荐使用下划线(C++)
					user_name
				js推荐使用驼峰体(前端)
					userName
		js代码默认是以分号作为结束符
			confirm('are you sure?');
		你不写分号通常情况下一点问题都没有
		
		
	研究var与let的区别
		看截图
	
	python中有无常量
		常量:无法被修改的量
		python中没有真正意义上的常量,我们约定俗成的将全大写的变量
		称之为常量
			*args,**kwargs
		
		js中有常量
			const 定义真正的常量 不能被修改

	
	js中的数据类型
		数值类型 Number
			(int float)
		
		字符类型 string
		
		对象  object
			数组    	[]
			自定义对象  {}
		
		布尔值  Boolean
			true
			flase
		
		undefined
		
		symbol
		
		
		
		
	typeof 用来查看js数据类型
	
	

	数值类型
		包含整型浮点型
		NaN也是数值类型  但是表示的意思是  不是一个数字
		
	字符类型	
		字符串的拼接
			python中不推荐使用加号(效率极低) %s format 
			js中推荐你使用加号来做字符串的拼接
			
	如何定义多行文本
		模板字符串
	
	布尔值
		在js中布尔值全部是小写!!!
		true
		false
		
	
	js其实也是面向对象编程
	
	数组
		
		python中往列表中添加数据的方法
			1.append  尾部追加
				l = [1,2]
				l.append([1,2,33,4])
				l = [1,2,[1,2,33,4]]
			2.insert  按照索引插入
			3.extend  扩展列表
				内部其实就是for循环+append
				l = [1,2]
				l.extend([1,2,3,4])
				l = [1,2,1,2,3,4]
				
		python中列表删除元素有几种方式
			1.remove        移除
			2.pop  			弹出
			3.del  
		
		
		
		python后端常用的内置函数
			map  映射
			
			zip  拉链
			
			filter  过滤
			
			reduce  多个进去一个出来
			
	
	逻辑运算符
		python                js
		and					 &&
		or				     ||
		not                   !
		
		python后端三元运算符
			x = 1
			y = 2
			res = 10 if x > y else 20
			
		js中三元运算符
			x = 1
			y = 2
			res = x > y ? 10 : 20
		
		
		var x=a>b ?a:(b=="20")?a:b;
		
		
	python后端定义函数 
		def
	js前端定义函数
		function
		
		箭头函数
		var f = v => v;
		// 等同于
		var f = function(v){
		  return v;
		}
		
		var sum = (num1, num2) => num1 + num2;
		// 等同于
		var sum = function(num1, num2){
		  return num1 + num2;  //这里的return只能返回一个值,如果想返回多个值需要自己手动给他们包一个数组或对象中
		}
	
	
	
	js对象
	
		在定义对象的时候 关键字 是  (*****)
			new  
	
	
		python后端               		前端js
		json.dumps                     JSON.stringify
		json.loads                     JSON.parse
		

		
		Reg正则
		Asyn异步
	
	
	正则
		// 定义正则表达式两种方式
		var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
		var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;  建议使用
		
	
原文地址:https://www.cnblogs.com/jinhongquan/p/11884198.html