0%

1. Ajax

Asyn Javascript And Xml “异步的 JS 和 xml”

请求: 客户端向服务器请求一个文件
响应: 服务端把文件内容 返回给客户端,一般服务端有输出才算真真的响应.

阅读全文 »

特效扩展

银行卡自动截断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<h1>请输入银行卡:</h1>
<hr>

<input type="text" id="bankCard" maxlength="23">

<script>
var input = document.getElementById('bankCard');

if (document.all) {
input.onpropertychange = ckInput;
} else {
input.oninput = ckInput;
}


function ckInput(){
// 将输入范围限定在数字范围之内
// A:
/*input.value = input.value
.replace(/\D/g, '')
.replace(/(\d{4})/g, '$1-')
.replace(/-$/g, '');*/
// B:
input.value = input.value
.replace(/\D/g, '')
.replace(/(\d{4})(?=\d)/g, '$1-')
}

/*
(?:) 忽略子模式的匹配
(?=) 正向预查/先行断言
匹配过程中,需要用到这个子模式的条件
但是,获取匹配结果时,忽略该子模式的条件
*/

</script>
阅读全文 »

1.JS 数组

声明数组

  • 1 使用 Array() 构造函数方式
    • var list = new Array(); // 空数组
    • var list = new Array(length); // 定义数组 初始长度
    • var list = new Array(v1,v2,v3); // 指定初始值
  • 2 JSON 方式
    • var list = []; // 空数组
    • var list = [v1,v2,v3]; // 指定初始值
阅读全文 »

JS 函数

1. 函数的声明

  1. function 关键字方式
    function 函数名([形参]) {
    JS 代码
    
    }
  2. 表达式方式
    var 函数名 = function([形参]) {
    JS 代码
    
    }
  3. Function 构造函数方式
    var 函数名 = new Function(‘参数1’, ‘JS 代码’);
阅读全文 »

事务操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62


// 事务: 将 多条sql语句绑定为一个整体, 其中有任意一条sql 失败, 则整体失败.
//
// MyISAM 不支持事务

// InnoDB 支持事务


// 自动提交:
// 默认情况下, sql一旦执行, 就会立马改变sql的状态
// 关闭自动提交, sql一旦执行, 能得到sql的状态结果, 但是sql不会真正的改变


try {
$pdo = new PDO('mysql:host=localhost;dbname=s86;charset=utf8','root','pass');
} catch (Exception $e) {
echo '数据库链接失败'; die;
}


// 事务操作步骤

try {
// 1. 关闭自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 0);

// 2. 开启一个事务 (游戏中的存档)
$pdo->beginTransaction();

// 3. 执行sql
# 1) 扣钱 -10W
$sql = "UPDATE `salary` SET `money`=`money`-100000 WHERE `uid` = 5 ";
$rows = $pdo->exec($sql);
if($rows < 1){
throw new Exception('工资转出失败');
}

# 2) 加钱 +10W
$sql = "UPDATE `salary` SET `money`=`money`+100000 WHERE `uid` = 4 ";
$rows = $pdo->exec($sql);
if($rows < 1){
throw new Exception('工资转入失败');
}


// 4. 执行成功, 提交事务, 真正的改变sql状态
$pdo->commit();

} catch (Exception $e) {
// 4. 执行失败, 回滚事务, 回到开始事务时的sql状态
echo $e->getMessage();
$pdo->rollBack(); # 读档
}


// 5. 开启自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1);