前端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中可以设置为自动模式或手动模式(自己设置返回值)

已标记关键词 清除标记
相关推荐
<div class="lemma-summary"> <div class="para">JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级<a href="https://baike.baidu.com/item/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/9845131" target="_blank" rel="noopener" data-lemmaid="9845131">编程语言</a>。虽然它是作为开发<a href="https://baike.baidu.com/item/Web/150564" target="_blank" rel="noopener" data-lemmaid="150564">Web</a>页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如<a href="https://baike.baidu.com/item/%E5%87%BD%E6%95%B0/301912" target="_blank" rel="noopener" data-lemmaid="301912">函数</a>式编程)风格。<sup class="sup--normal" data-sup="1" data-ctrmap=":1,"> [1]</sup><a class="sup-anchor" name="ref_[1]_16168"></a> </div> <div class="para">JavaScript在1995年由<a href="https://baike.baidu.com/item/Netscape/2778944" target="_blank" rel="noopener" data-lemmaid="2778944">Netscape</a>公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与<a href="https://baike.baidu.com/item/Sun/69463" target="_blank" rel="noopener" data-lemmaid="69463">Sun</a>合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与<a href="https://baike.baidu.com/item/Self/4959923" target="_blank" rel="noopener" data-lemmaid="4959923">Self</a>及<a href="https://baike.baidu.com/item/Scheme/8379129" target="_blank" rel="noopener" data-lemmaid="8379129">Scheme</a>较为接近。<sup class="sup--normal" data-sup="2" data-ctrmap=":2,"> [2]</sup><a class="sup-anchor" name="ref_[2]_16168"></a> </div> <div class="para">JavaScript的标准是<a href="https://baike.baidu.com/item/ECMAScript%20/1889420" target="_blank" rel="noopener" data-lemmaid="1889420">ECMAScript </a>。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。<sup class="sup--normal" data-sup="1" data-ctrmap=":1,"> [1]</sup><a class="sup-anchor" name="ref_[1]_16168"></a> </div> </div>
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页