JavaScript
1,独立的语言。浏览器具有js解释器。存在于HTML中
2,JavaScript代码存在形式
- Head中
<script>
// javascript代码
alert(123);
</script>
- 文件
<script src="js文件路径"></script>
PS: JS代码需要放置在 <body>标签内部的最下方
3,注释
单行注释 //
多行注释 /* 注释内容 */
4,变量
python:
name = 'MR. Dong'
JavaScript:
name = 'MR. Dong' # 全局变量
var name = 'MR. Dong' # 局部变量
5,基本数据类型
数字
a = 18;
字符串
a = "MR. Dong"
a.charAt(索引位置)
a.substing(起始位置,结束位置)
a.length 获取当前字符串长度
...
列表
a = [11,22,33]
字典
a = {k1:'v',k2:'v2'}
布尔类型
小写
if(false)
6,for循环
1,循环时,循环的元素是索引
a = [11,22,33,44]
for(var item in a){
console.log(a[item]);
}
a = {k1:'v',k2:'v2'}
for(var item in a){
console.log(a[item]);
}
2,
for(var i=0;i < 10;i ++){
console.log(i)
}
a = [11,22,33,44]
for(var i=0;i < a.length;i ++){
console.log(a[i])
}
不支持字典的循环
7,条件语句
if(条件){
}else if(条件){
}else{
}
== 值相等
=== 值和类型都相等
&& and
|| or
switch(name){
case '1':
console.log(123)
break;
case '2':
console.log(1234)
break;
default:
console.log('333')
break;
}
8,函数
function func(arg){
return arg+1
}
var result=func(1);
console.log(result);
普通函数:
function func(){
}
匿名函数:
setInterval("func()",5000);
setInterval(function(
console.log(123);
){},5000);
自执行函数(创建函数并且自动执行):
function func(){
}
func()
// 上面代码的结合
(function(arg){
console.log(arg);
})(1)
9,序列化
JSON.stringify() 将对象转换为字符串
JSON.parse() 将字符串转换为对象类型
10,转义
客户端(cookie) --> 服务器端
11,eval
python:
val = eval(表达式)
exec(执行代码)
JavaScript:
eval
12,时间
Date类
var d = new Date()
d.getXXX 获取
d.setXXX 设置
13,作用域
其他语言:以代码块作为作用域
public void Func(String v){
if(1==1){
string name = 'Java';
}
console.writeline(name);
}
Func()
// 报错
Python:以函数作为作用域
情况一:
def func():
if 1==1:
name = '123'
print(name)
func()
// 成功
情况二:
def func():
if 1==1:
name = '321'
print(name)
func()
print(name)
// 报错
JavaScript:默认以函数作为作用域
function func(){
if(1==1){
var name = '123'
}
conlose.log(name)
}
func()
1,以函数作为作用域
2,函数的作用域在未被调用之前,已经创建
3,函数的作用域存在作用域链,并且也是在未被调用之前创建
4,JavaScript,函数内局部变量提前声明
function func(){
conlose.log(xxoo);
var xxoo = 'qq';
}
解释过程中 var xxoo;
func()
// undefined
定时器:
setInterval('执行的代码',间隔时间)
跑马灯实例:
function func(){
// 根据ID获取指定标签的内容,定义局部变量接收
var tag = document.getElementById('id');
// 获取标签内部的内容
var content = tag.innerText;
var f = content.charAt(0);
var l = content.substring(1,content.length);
var new_content = l + f;
tag.innerText = new_content;
}
setInterval('func()',1000)
JS 正则
test - 判断字符串是否符合规定的正则表达式
rep = /\d+/;
rep.test("sdasdasd8980sdasdsa");
# true
rep = /^\d+$/;
rep.test("sadasd89sdasddsa");
# false
exec - 获取匹配的数据
rep = /\d+/;
str = "wdsas_67_sdsa_20";
rep.exce(str);
# ["67"]
str = JavaScript is mpre fun than Java or JavaBean
pattern = /\bJava(\w*)\b/;
pattern.exec(str);
# ["JavaScript","Script"]
多行匹配:
默认就是多行匹配
- 登录注册验证
默认事件先执行:
checkbox
自定义事件先执行:
a
submit
...
<a></a>
<form>
<input type="text"/>
<input type="password"/>
<input type="submit"/>
</form>
$(':submit').click(function(){
$(':text,:password').each(function(){
...
return false;// 终止循环
});
return false;// 不再执行跳转
});
input,checkbox
验证:
JS:验证(浏览器级别验证)
各种验证:
$(':submit').click(funcyion(){
$(':text,:password').each(function(){
...
return false;
});
return false;
});
后端:python实现
业务处理
....