前端Js02

#JS

1.JS错误执行机制

1.1 如果发生编译型错误(例如语法错误),会使整个script代码段中全部内容终止执行,但是不会影响另外的script代码段。(script是每一个一个代码段单独检查,如果这个代码段发生编译错误或执行错误,则对下一个代码段进行编译执行)

1.2 如果发生执行错误(例如调用一个不存在的函数), 则错误行号之前的代码正常执行,之后不执行,不影响另外的代码段。

2.定时器

2.1 setTimeout( )

setTimeout(function{
	console.log(123);
},2000);//2表示2秒后执行该函数

2.2 setInterval( )

语法和setTimeout一样,但表示该函数每隔多久执行一次

3. 闭包

3.1 当一个函执行完毕之后会立即释放变量,也就是垃圾回收机制。但如果不想立即释放,继续存在内存当中,可以构造一个闭包函数。

3.2 可以在函数中继续构造一个函数,然后将其return赋值给一个变量,因为程序不知道这个变量会不会继续被用到,所以会继续保留该函数,使得函数不被释放。

function a(){
	var i = 1;
	function b(){
		console.log(i++);
	}
	return b;
}

var bb = a();
bb();

3.3 在for循环中,函数中调用定时器,虽然for循环瞬间执行完毕,但定时器还没执行,所以函数开辟出来的内存不会被瞬间释放。

for(var i=1; i<=5; i++){
	(function(x){
		setTimeout(function(){
			console.log(x);
		},1000*x);
	})(i);
}

4.正则表达式

4.1 str.match(//);

元字符

  • n* 匹配任何包含零个或多个 n 的字符串。前导字符有没有都行
  • n? 匹配任何包含零个或一个 n 的字符串。
  • n{X} 匹配包含 X 个 n 的序列的字符串。
  • n{X,Y} 匹配包含 X 到 Y 个 n 的序列的字符串,包括X和Y个
  • \w 匹配任何数字、字母、下划线
  • \d 查找数字
  • ^n$ 表示只匹配字符串n。也就是匹配整个字符串

方括号

  • [abc] 查找方括号之内的任何字符。
  • [^abc] 查找任何不在方括号之间的字符。(方括号中的^表示取反)
  • [0-9] 查找任何从 0 至 9 的数字。表示一个字符
  • [a-z] 查找任何从小写 a 到小写 z 的字符。
  • [A-Z] 查找任何从大写 A 到大写 Z 的字符。
  • [A-z] 查找任何从大写 A 到小写 z 的字符。包括下划线

修饰符(写到//之后)

  • i 执行对大小写不敏感的匹配。实际上就是不区分大小写的匹配
    g 执行全局匹配

4.2 捕获和反向引用

正则中出现的小括号,就叫捕获或者分组。
在正则语法中(在/…/内),在捕获的后面,用“\1”来引用前面的捕获。用\2表示第二个捕获的内容….
在正则语法外(如replace时),用“$1”来引用前面的捕获

反向引用就是(?:正则),表示者小括号中的内容不能被引用

4.3 匹配中文

[\u4e00-\u9fa5]这个区间表示中文

5. 正则对象的属性和方法

5.1 exex( )方法和lastIndex属性

var str = '1223 3434';
var r   = /\d\d\d\d/g;
var i   = r.lastIndex;//表示下一次匹配的位置,默认从0开始
var result = r.exec(str);
console.log(result);//1122,只匹配一次,每次匹配一个结果。

5.2 test( )

var result = r.text(str);
//r是正则表达式
//匹配则返回true

6. 支持正则表达式的String对象方法

6.1 serach( )

var str = 'hello';
var r   = /l/;
var res = str.search(r);
console.log(res);//2

6.2 match( )

var str = '1212';
var r   = /(\d)(\d)\1\2/;
var res = str.match(r);
console.log(result);
//["1212","1","2"]
//没有匹配返回null

6.3 split( )和replace( )

var str = '123566@qq.com';
var res = str.split(/@/);
console.log(res);//["123456","qq.com"]
//将字符串分割成数组
var res = str.replace(/1/,'0');//023456@qq.com
//替换

7. PHP中的正则表达式

preg_match();//返回匹配的次数,它的返回值是0或者是1.
preg_match_all();//执行正则表达式的全局匹配,类似于js中的带g的匹配。
preg_replace();//替换

注意:PHP中的使用正则的使用除了//以外,外面还要加引号,这个引号要用单引号。

TP5

1. 安装了sql追踪器

可以连接上phpMyAdmin,sql语句执行后就会单独出现在网页上,方便检查错误

2. 了解MySQL预处理语句prepare、execute

sql语句用了参数绑定、命名占位符和传数组的方式,参数绑定用??,后面用中括号对应,命名占位符类似,数组方式只是简化参数。
目的就是做sql预处理,防止sql注入

3.了解mysql事物处理、链式操作

链式操作:查询多个满足条件的数据,先写条件,不分顺序,最后写要执行什么操作(是操作还是查询)
事务操作:可以一次性执行多条sql语句,如果其中一条语句报错,则会报错回滚,一条也不执行。tp5中可以设置为自动模式或手动模式(自己设置返回值)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值