王新阳

wangxinyang

CodeIgniter数据库操作常用函数

选择数据
$this->db->select();
允许你在SQL查询中写 SELECT 部分。
$this->db->where();
$this->db->or_where();
$this->db->where_in();
允许你在SQL查询中写 WHERE部分,其余各种where语句请看手册。
$this->db->get();
运行选择查询语句并且返回结果集。可以获取一个表的全部数据。
$this->db->like();
$this->db->or_like();
$this->db->not_like();
本函数允许你生成 LIKE 子句,在做查询时非常有用,其余语法请看手册。
$this->db->order_by();
帮助你设置一个 ORDER BY 子句。
$this->db->group_by();
允许你编写查询语句中的 GROUP BY 部分:
$this->db->distinct();
为查询语句添加 "DISTINCT" 关键字:
$this->db->having();
允许你为你的查询语句编写 HAVING 部分。
$this->db->limit();
限制查询所返回的结果数量:
$this->db->select_max();
为你的查询编写一个 "SELECT MAX(field)"。
$this->db->select_min();
为你的查询编写一个 "SELECT MIN(field)" 。
$this->db->select_avg();
为你的查询编写一个 "SELECT AVG(field)" 。
$this->db->select_sum();
为你的查询编写一个 "SELECT SUM(field)" 。
$this->db->join();
允许你编写查询中的JOIN部分。
$this->db->count_all_results();
允许你获得某个特定的Active Record查询所返回的结果数量。可以使用Active Record限制函数,例如 where(), or_where(), like(), or_like() 等等。

插入数据

$this->db->insert();
生成一条基于你所提供的数据的SQL插入字符串并执行查询。你可以向函数传递 数组 或一个 对象。
$this->db->insert_batch();
一次插入多条数据,生成一条基于你所提供的数据的SQL插入字符串并执行查询。你可以向函数传递 数组 或一个 对象。
$this->db->set();
本函数使您能够设置inserts(插入)或updates(更新)值。它可以用来代替那种直接传递数组给插入和更新函数的方式。

更新数据

$this->db->update();
根据你提供的数据生成并执行一条update(更新)语句。你可以将一个数组或者对象传递给本函数。
$this->db->update_batch();
Generates an update string based on the data you supply, and runs the query. You can either pass an array or an object to the function. Here is an example using an array:

删除数据

$this->db->delete();
生成并执行一条DELETE(删除)语句。
$this->db->empty_table();
生成并执行一条DELETE(删除)语句。
$this->db->truncate();
生成并执行一条TRUNCATE(截断)语句。

链式方法

链式方法允许你以连接多个函数的方式简化你的语法。考虑一下这个范例:
$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20); 
$query = $this->db->get(); 
说明: 链式方法只能在PHP 5下面运行。

查询

$this->db->query(); 
要提交一个查询,用以下函数: 
$this->db->query('YOUR QUERY HERE'); 
query() 函数以object(对象)的形式返回一个数据库结果集。 当使用 "read" 模式来运行查询时, 你可以使用"显示你的结果集"来显示查询结果; 当使用 "write" 模式来运行查询时, 将会仅根据执行的成功或失败来返回 TRUE 或 FALSE. 

转义查询

$this->db->escape()这个函数将会确定数据类型,以便仅对字符串类型数据进行转义。并且,它也会自动把数据用单引号括起来,所以你不必手动添加单引号,用法如下:  $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";

查询辅助函数

$this->db->insert_id()
这个ID号是执行数据插入时的ID。
$this->db->affected_rows() 
当执行写入操作(insert,update等)的查询后,显示被影响的行数。 
$this->db->count_all(); 
计算出指定表的总行数并返回。在第一个参数中写入被提交的表名。

生成查询记录集

result() 
该方法执行成功返回一个object 数组,失败则返回一个空数组。 

result_array() 
该方法执行成功时将记录集作为关联数组返回。失败时返回空数组。 
row() 
该函数将当前请求的第一行数据作为 object 返回。你可以传递参数(参数是行的索引)以便获得某一行的数据。比如我们要获得第 5 行的数据: $row = $query->row(4);
row_array() 
功能与 row() 一样, 区别在于该函数返回的是一个数组。 

除此以外, 我们还可以使用下面的方法通过游标的方式获取记录: 
$row = $query->first_row() 
$row = $query->last_row() 
$row = $query->next_row() 
$row = $query->previous_row() 
默认情况下他们将返回一个 object,同时你也可以传递参数 "array" 以便使用 array 的方式获取数据 $row = $query->first_row('array') 
$row = $query->last_row('array') 
$row = $query->next_row('array') 
$row = $query->previous_row('array')

结果集辅助函数

$query->num_rows() 
该函数将会返回当前请求的行数。 

$query->num_fields() 
该函数返回当前请求的字段数(列数): 
$query->free_result() 

该函数将会释放当前查询所占用的内存并删除其关联的资源标识。

自动连接

"自动连接" 功能将在每个一页面加载时被自动实例化数据库类。要启用"自动连接",可在application/config/autoload.php中的 library 数组里添加 database: 
$autoload['libraries'] = array('database');

手动连接

如果仅仅是一部分页面要求数据库连接,你可以在你有需要的函数里手工添加如下代码或者在你的类里手工添加以供该类使用。 
$this->load->database();

连接多数据库

如果你需要同时连接多于一个的数据库,你可以用以下方式来实现: 
$DB1 = $this->load->database('group_one', TRUE); 
$DB2 = $this->load->database('group_two', TRUE);

表数据

$this->db->list_tables(); 
返回一个包含当前连接数据库中所有表名称的数组。 
$this->db->table_exists(); 
有时,在对某个表执行操作之前,使用该函数判断指定表是否存在很有用。返回一个布尔值。

数据库工具类

重要提示:  初始化数据库工具类之前,你的数据库驱动必须已经运行,因为工具类依赖于此。 

加载工具类: $this->load->dbutil() 
一旦初始化完毕,你可以通过 $this->dbutil 对象来访问成员函数: 
$this->dbutil->list_databases() 
$this->dbutil->database_exists(); 
$this->dbutil->xml_from_result($db_result) 
$this->dbutil->backup()

数据库缓存类激活缓存需要三步: 

1、在服务器上创建一个可写的目录以便保存缓存文件。 
2、在文件 application/config/database.php 中$db['xxxx']['cachedir']设置其目录。 
3、激活缓存特性,可以在文件 application/config/database.php 中设置全局选项$db['xxxx']['cache_on']='TRUE',也可以用以本页下面的方法手动设置。
一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。

当有数据库更新,我们需要删除缓存文件 

$this->db->cache_delete() 

选择数据

$this->db->select();
允许你在SQL查询中写 SELECT 部分。
$this->db->where();
$this->db->or_where();
$this->db->where_in();
允许你在SQL查询中写 WHERE部分,其余各种where语句请看手册。
$this->db->get();
运行选择查询语句并且返回结果集。可以获取一个表的全部数据。
$this->db->like();
$this->db->or_like();
$this->db->not_like();
本函数允许你生成 LIKE 子句,在做查询时非常有用,其余语法请看手册。
$this->db->order_by();
帮助你设置一个 ORDER BY 子句。
$this->db->group_by();
允许你编写查询语句中的 GROUP BY 部分:
$this->db->distinct();
为查询语句添加 "DISTINCT" 关键字:
$this->db->having();
允许你为你的查询语句编写 HAVING 部分。
$this->db->limit();
限制查询所返回的结果数量:
$this->db->select_max();
为你的查询编写一个 "SELECT MAX(field)"。
$this->db->select_min();
为你的查询编写一个 "SELECT MIN(field)" 。
$this->db->select_avg();
为你的查询编写一个 "SELECT AVG(field)" 。
$this->db->select_sum();
为你的查询编写一个 "SELECT SUM(field)" 。
$this->db->join();
允许你编写查询中的JOIN部分。
$this->db->count_all_results();
允许你获得某个特定的Active Record查询所返回的结果数量。可以使用Active Record限制函数,例如 where(), or_where(), like(), or_like() 等等。

插入数据

$this->db->insert();
生成一条基于你所提供的数据的SQL插入字符串并执行查询。你可以向函数传递 数组 或一个 对象。
$this->db->insert_batch();
一次插入多条数据,生成一条基于你所提供的数据的SQL插入字符串并执行查询。你可以向函数传递 数组 或一个 对象。
$this->db->set();
本函数使您能够设置inserts(插入)或updates(更新)值。它可以用来代替那种直接传递数组给插入和更新函数的方式。

更新数据

$this->db->update();

根据你提供的数据生成并执行一条update(更新)语句。你可以将一个数组或者对象传递给本函数。
$this->db->update_batch();

Generates an update string based on the data you supply, and runs the query. You can either pass an array or an object to the function. Here is an example using an array:

删除数据

$this->db->delete();
生成并执行一条DELETE(删除)语句。
$this->db->empty_table();
生成并执行一条DELETE(删除)语句。
$this->db->truncate();
生成并执行一条TRUNCATE(截断)语句。

链式方法

链式方法允许你以连接多个函数的方式简化你的语法。考虑一下这个范例:

$this->db->select('title')->from('mytable')->where('id', $id)->limit(10, 20); 
$query = $this->db->get(); 

说明: 链式方法只能在PHP 5下面运行。

查询

$this->db->query(); 

要提交一个查询,用以下函数: 
$this->db->query('YOUR QUERY HERE'); 

query() 
函数以object(对象)的形式返回一个数据库结果集。 当使用 "read" 模式来运行查询时, 你可以使用"显示你的结果集"来显示查询结果; 当使用 "write" 模式来运行查询时, 将会仅根据执行的成功或失败来返回 TRUE 或 FALSE. 

转义查询

$this->db->escape()

这个函数将会确定数据类型,以便仅对字符串类型数据进行转义。并且,它也会自动把数据用单引号括起来,所以你不必手动添加单引号,用法如下:  $sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";

查询辅助函数

$this->db->insert_id()
这个ID号是执行数据插入时的ID。  

$this->db->affected_rows() 
当执行写入操作(insert,update等)的查询后,显示被影响的行数。 
$this->db->count_all(); 
计算出指定表的总行数并返回。在第一个参数中写入被提交的表名。

生成查询记录集

result() 
该方法执行成功返回一个object 数组,失败则返回一个空数组。 

result_array() 
该方法执行成功时将记录集作为关联数组返回。失败时返回空数组。 
row() 
该函数将当前请求的第一行数据作为 object 返回。你可以传递参数(参数是行的索引)以便获得某一行的数据。比如我们要获得第 5 行的数据: $row = $query->row(4);
row_array() 
功能与 row() 一样, 区别在于该函数返回的是一个数组。 

除此以外, 我们还可以使用下面的方法通过游标的方式获取记录: 
$row = $query->first_row() 
$row = $query->last_row() 
$row = $query->next_row() 
$row = $query->previous_row() 
默认情况下他们将返回一个 object,同时你也可以传递参数 "array" 以便使用 array 的方式获取数据 $row = $query->first_row('array') 
$row = $query->last_row('array') 
$row = $query->next_row('array') 
$row = $query->previous_row('array')

结果集辅助函数

$query->num_rows() 

该函数将会返回当前请求的行数。 
$query->num_fields() 
该函数返回当前请求的字段数(列数): 
$query->free_result() 
该函数将会释放当前查询所占用的内存并删除其关联的资源标识。

自动连接

"自动连接" 功能将在每个一页面加载时被自动实例化数据库类。要启用"自动连接",可在application/config/autoload.php中的 library 数组里添加 database: 

$autoload['libraries'] = array('database');

手动连接

如果仅仅是一部分页面要求数据库连接,你可以在你有需要的函数里手工添加如下代码或者在你的类里手工添加以供该类使用。 
$this->load->database();

连接多数据库

如果你需要同时连接多于一个的数据库,你可以用以下方式来实现: 
$DB1 = $this->load->database('group_one', TRUE); 
$DB2 = $this->load->database('group_two', TRUE);

表数据

$this->db->list_tables(); 
返回一个包含当前连接数据库中所有表名称的数组。 
$this->db->table_exists(); 
有时,在对某个表执行操作之前,使用该函数判断指定表是否存在很有用。返回一个布尔值。

数据库工具类

重要提示:  初始化数据库工具类之前,你的数据库驱动必须已经运行,因为工具类依赖于此。 

加载工具类: $this->load->dbutil() 
一旦初始化完毕,你可以通过 $this->dbutil 对象来访问成员函数: 
$this->dbutil->list_databases() 
$this->dbutil->database_exists(); 
$this->dbutil->xml_from_result($db_result) 
$this->dbutil->backup()

数据库缓存类

激活缓存需要三步: 

1、在服务器上创建一个可写的目录以便保存缓存文件。 
2、在文件 application/config/database.php 中$db['xxxx']['cachedir']设置其目录。 
3、激活缓存特性,可以在文件 application/config/database.php 中设置全局选项$db['xxxx']['cache_on']='TRUE',也可以用以本页下面的方法手动设置。
一旦被激活,每一次含有数据库查询的页面被加载时缓存就会自动发生。

当有数据库更新,我们需要删除缓存文件 

$this->db->cache_delete() 
删除缓存文件与特定网页。如果你需要清除缓存后,更新您的数据库 
$this->db->cache_delete('/blog', 'comments'); 
注意,手册上写的是 $this->db->cache_delete('blog', 'comments');但根据实际测试应该在控制器名字前加斜杠'/'才能正确执行。 
$this->db->cache_delete_all() 
清除所有所有的缓存文件。

数据库维护类

注意:  欲初始化数据库维护类,请确保你的数据库驱动已经运行,因为该类依赖于数据库驱动。 
使用如下方法载入数据库维护类: 
$this->load->dbforge() 
一旦初始化,就可以使用$this->dbforge 对象访问类中函数: 
$this->dbforge->create_database('db_name') 
允许你创建由第一个参数指定的数据库。 
$this->dbforge->drop_database('db_name') 
允许你删除由第一个参数指定的数据库。 
$this->dbforge->create_table('table_name'); 
声明了字段和键之后,你就可以创建一个表。  删除缓存文件与特定网页。如果你需要清除缓存后,更新您的数据库 
$this->db->cache_delete('/blog', 'comments'); 
注意,手册上写的是 $this->db->cache_delete('blog', 'comments');但根据实际测试应该在控制器名字前加斜杠'/'才能正确执行。 
$this->db->cache_delete_all() 
清除所有所有的缓存文件。

数据库维护类

注意:  欲初始化数据库维护类,请确保你的数据库驱动已经运行,因为该类依赖于数据库驱动。 
使用如下方法载入数据库维护类: 
$this->load->dbforge() 
一旦初始化,就可以使用$this->dbforge 对象访问类中函数: 
$this->dbforge->create_database('db_name') 
允许你创建由第一个参数指定的数据库。 
$this->dbforge->drop_database('db_name') 
允许你删除由第一个参数指定的数据库。 
$this->dbforge->create_table('table_name'); 
声明了字段和键之后,你就可以创建一个表。  

自定义表单

http://www.jsform.com/
账号:p...@126.com

http://www.mikecrm.com/

https://wj.qq.com/

web前端设计必备知识:CSS优先级

http://www.zhihu.com/question/28976590

http://www.w3cplus.com/css/css-specificity-things-you-should-know.html

http://www.w3cplus.com/css/front-end-web-development-quiz.html

光头强的李老板

请输入查看密码:

MySQL show的基本用法

SHOW DATABASES︰列出 MySQL Server上的数据库。

SHOW TABLES [FROM db_name]︰列出数据库中的表。

SHOW TABLE STATUS [FROM db_name]︰列出数据库的表信息,比较详细。

SHOW COLUMNS FROM tbl_name [FROM db_name]︰列出表的列信息,同 SHOW FIELDS FROM tbl_name [FROM db_name],DESCRIBE tbl_name [col_name]。

SHOW FULL COLUMNS FROM tbl_name [FROM db_name]︰列出表的列信息,比较详细,同 SHOW FULL FIELDS FROM tbl_name [FROM db_name]。

SHOW INDEX FROM tbl_name [FROM db_name]︰列出表的索引信息。

SHOW STATUS︰列出 Server 的状态信息。

SHOW VARIABLES︰列出 MySQL 系統参数值

SHOW PROCESSLIST︰查看当前mysql查询进程

SHOW GRANTS FOR user︰列出用户的授权命令

请输入查看密码:

PHP十六进制和RGB颜色互换

两个函数均未进行数据合法性验证:
十六进制颜色 preg_match('/^#([0-9a-f]{3}|[0-9a-f]{6})$/i', $hex)===1
RGB三个值均大于等于0小于等于255

function hex2rgb($hex) {
	$hex = str_replace("#", "", $hex);
	if(strlen($hex) == 3){
		$r = hexdec(substr($hex,0,1).substr($hex,0,1));
		$g = hexdec(substr($hex,1,1).substr($hex,1,1));
		$b = hexdec(substr($hex,2,1).substr($hex,2,1));
	}else{
		$r = hexdec(substr($hex,0,2));
		$g = hexdec(substr($hex,2,2));
		$b = hexdec(substr($hex,4,2));
	}
	return array($r, $g, $b);
}


function rgb2hex($rgb) {
	if(!is_array($rgb)) $rgb=explode(',', $rgb);
	$hex = "#";
	$hex .= str_pad(dechex((int)$rgb[0]), 2, "0", STR_PAD_LEFT);
	$hex .= str_pad(dechex((int)$rgb[1]), 2, "0", STR_PAD_LEFT);
	$hex .= str_pad(dechex((int)$rgb[2]), 2, "0", STR_PAD_LEFT);
	return $hex; 
}

MySQL比like语句更高效的写法

locate(substr, str) 区分大小写

instr( string1, string2 [, start_position [, nth_appearance ] ] )
instr(源字符串, 目标字符串, 起始位置, 匹配序号)
//php codeigniter写法:
$this->db->where("instr(`company`,'".addslashes($param)."')>0");


以下网络转载,尚未验证

LIKE语句

SELECT `column` FROM `table` where `condition` like `%keyword%'

事实上,可以使用 locate(position) 和 instr 这两个函数来代替

一、LOCATE语句
SELECT `column` from `table` where locate('keyword', `condition`)>0

二、或是 locate 的別名 position
POSITION语句
SELECT `column` from `table` where position('keyword' IN `condition`)

三、INSTR语句
SELECT `column` from `table` where instr(`condition`, 'keyword' )>0

locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个起始位置的参数外,两者是一样的。
mysql> SELECT LOCATE('bar', 'foobarbar',5);

速度上这三个比用 like 稍快了一点。

四、还要给大家介绍一个新成员,那就是find_in_set

find_in_set(str1,str2) 函数:返回str2中str1所在的位置索引,其中str2必须以","分割开。
FIND_IN_SET语句
mysql> select * from test where find_in_set('name1',name); 

五、当然,还有mysql的全文索引

全文索引:http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html

MySQL运算符优先级

MySQL运算符优先级从高到低:
INTERVAL
BINARY, COLLATE
!
- (unary minus), ~ (unary bit inversion)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
=, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
BETWEEN, CASE, WHEN, THEN, ELSE
NOT
&&, AND
XOR
||, OR
:=

js基础知识

WINDOW对象的 postMessage() 方法用于安全地实现跨域通信。
otherWindow.postMessage(message, targetOrigin, [transfer]);

参考:
https://www.w3cschool.cn/fetch_api/fetch_api-lx142x8t.html
https://www.runoob.com/js/met-win-postmessage.html
https://www.jianshu.com/p/ae840f7d7f8b


每一项都是JS中的小技巧,但十分的实用!

1.document.write(""); 输出语句

2.JS中的注释为//

3.传统的HTML文档顺序是:document->html->(head,body)

4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)

5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)

6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();

7.JS中的值类型:String,Number,Boolean,Null,Object,Function

8.JS中的字符型转换成数值型:parseInt(),parseFloat()

9.JS中的数字转换成字符型:("" 变量)

10.JS中的取字符串长度是:(length)

11.JS中的字符与字符相连接使用+号.

12.JS中的比较操作符有:==等于,!=不等于,>,>=,<.<=

13.JS中声明变量使用:var来进行声明

14.JS中的判断语句结构:if(condition){}else{}

15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}

16.循环中止的命令是:break

17.JS中的函数定义:function functionName([parameter],...){statement[s]}

18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.

19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self

20.状态栏的设置:window.status="字符";

21.弹出提示信息:window.alert("字符");

22.弹出确认框:window.confirm();

23.弹出输入提示框:window.prompt();

24.指定当前显示链接的位置:window.location.href="URL"

25.取出窗体中的所有表单的数量:document.forms.length

26.关闭文档的输出流:document.close();

27.字符串追加连接符: =

28.创建一个文档元素:document.createElement(),document.createTextNode()

29.得到元素的方法:document.getElementById()

30.设置表单中所有文本型的成员的值为空:

var form = window.document.forms[0]

for (var i = 0; i

if (form.elements[i].type == "text"){

form.elements[i].value = "";

}

}

31.复选按钮在JS中判断是否选中:document.forms[0].checkThis.checked (checked属性代表为是否选中返回TRUE或FALSE)

32.单选按钮组(单选按钮的名称必须相同):取单选按钮组的长度document.forms[0].groupName.length

33.单选按钮组判断是否被选中也是用checked.

34.下拉列表框的值:document.forms[0].selectName.options[n].value (n有时用下拉列表框名称加上.selectedIndex来确定被选中的值)

35.字符串的定义:var myString = new String("This is lightsword");

36.字符串转成大写:string.toUpperCase(); 字符串转成小写:string.toLowerCase();

37.返回字符串2在字符串1中出现的位置:String1.indexOf("String2")!=-1则说明没找到.

38.取字符串中指定位置的一个字符:StringA.charAt(9);

39.取出字符串中指定起点和终点的子字符串:stringA.substring(2,6);

40.数学函数:Math.PI(返回圆周率),Math.SQRT2(返回开方),Math.max(value1,value2)返回两个数中的最在值,Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函数,Math.floor(value1)小于等于value1的整数,Math.ceil(value1)大于等于value1的整数,Math.random()返回0-1的随机数

41.定义日期型变量:var today = new Date();

42.日期函数列表:dateObj.getTime()得到时间,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期几,dateObj.getHours()得到小时,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒,dateObj.setTime(value)设置时间,dateObj.setYear(val)设置年,dateObj.setMonth(val)设置月,dateObj.setDate(val)设置日,dateObj.setDay(val)设置星期几,dateObj.setHours设置小时,dateObj.setMinutes(val)设置分,dateObj.setSeconds(val)设置秒 [注意:此日期时间从0开始计]

43.FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName

44.parent代表父亲对象,top代表最顶端对象

45.打开子窗口的父窗口为:opener

46.表示当前所属的位置:this

47.当在超链接中调用JS函数时用:(javascript 来开头后面加函数名

48.在老的浏览器中不执行此JS:< !-- //-- >

49.引用一个文件式的JS:< script type="text/javascript" src="aaa.js" _fcksavedurl=""aaa.js"" _fcksavedurl=""aaa.js"" _fcksavedurl=""aaa.js"" _fcksavedurl=""aaa.js"" >< /script >

50.指定在不支持脚本的浏览器显示的HTML:< noscript >< /noscript >

51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:< a href="a.html" onclick="location.href='b.html' _fcksavedurl='b.html' _fcksavedurl='b.html' _fcksavedurl='b.html' _fcksavedurl='b.html';return false" >dfsadf< /a >

52.JS的内建对象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError

53.JS中的换行:\n

54.窗口全屏大小:< script >function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;< /script >

55.JS中的all代表其下层的全部元素

56.JS中的焦点顺序:document.getElementByid("表单元素").tabIndex = 1

57.innerHTML的值是表单元素的值:如< p id="para" >"how are < em >you< /em >"< /p >,则innerHTML的值就是:how are < em >you< /em >

58.innerTEXT的值和上面的一样,只不过不会把< em >这种标记显示出来.

59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.

60.isDisabled判断是否为禁止状态.disabled设置禁止状态

61.length取得长度,返回整型数值

62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc

63.window.focus()使当前的窗口在所有窗口之前.

64.blur()指失去焦点.与FOCUS()相反.

65.select()指元素为选中状态.

66.防止用户对文本框中输入文本:onfocus="this.blur()"

67.取出该元素在页面中出现的数量:document.all.tags("div(或其它HTML标记符)").length

68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()

69.状态栏文字的设置:window.status='文字',默认的状态栏文字设置:window.defaultStatus = '文字.';

70.添加到收藏夹:external.AddFavorite("http://www.webjx.com","jaskdlf");

71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;

72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener…的多重继续.

73.JS中的self指的是当前的窗口

74.JS中状态栏显示内容:window.status="内容"

75.JS中的top指的是框架集中最顶层的框架

76.JS中关闭当前的窗口:window.close();

77.JS中提出是否确认的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}

78.JS中的窗口重定向:window.navigate("http://www.webjx.com");

79.JS中的打印:window.print()

80.JS中的提示输入框:window.prompt("message","defaultReply");

81.JS中的窗口滚动条:window.scroll(x,y)

82.JS中的窗口滚动到位置:window.scrollby

83.JS中设置时间间隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout

84.JS中的模态显示在IE4 行,在NN中不行:showModalDialog("URL"[,arguments][,features]);

85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;

86.当窗体第一次调用时使用的文件句柄:onload()

87.当窗体关闭时调用的文件句柄:onunload()

88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳转到相应的锚记),href(全部的信息)

89.window.location.reload()刷新当前页面.

90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)

91.document.write()不换行的输出,document.writeln()换行输出

92.document.body.noWrap=true;防止链接文字折行.

93.变量名.charAt(第几位),取该变量的第几位的字符.

94."abc".charCodeAt(第几个),返回第几个字符的ASCii码值.

95.字符串连接:string.concat(string2),或用 =进行连接

96.变量.indexOf("字符",起始位置),返回第一个出现的位置(从0开始计算)

97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.

98.string.match(regExpression),判断字符是否匹配.

99.string.replace(regExpression,replaceString)替换现有字符串.

100.string.split(分隔符)返回一个数组存储值.

101.string.substr(start[,length])取从第几位到指定长度的字符串.

102.string.toLowerCase()使字符串全部变为小写.

103.string.toUpperCase()使全部字符变为大写.

104.parseInt(string[,radix(代表进制)])强制转换成整型.

105.parseFloat(string[,radix])强制转换成浮点型.

106.isNaN(变量):测试是否为数值型.

107.定义常量的关键字:const,定义变量的关键字:var

108. document.activeElement.id  document.activeElement.tagName  event.currentTarget.id焦点
document.activeElement.id  event.currentTarget.id
IE    支持     不支持
Chrome  不支持    支持
Firefox  支持     支持
<script type="text/javascript">
var show = function (e) {
alert(e.currentTarget?"获取到了 currentTarget":"获取到了 document.activeElement")
//document.activeElements要放到前面,否则IE中会出错(待进一步验证)貌似新版的chrome也支持document.activeElement
alert((document.activeElement || e.currentTarget).id);
};
</script>
<div>案例1:<div>
<div id="div1"><br />
 <a href="javascript:void(0)" id="a1"><img id="img1" src="http://www.google.cn/images/nav_logo3.png" border="0" alt="" onclick="show(event)"/></a>
</div>
<div><br /><br />案例2:</div>
<div id="div2"><br />
 <a href="javascript:void(0)" onclick="show(event)" id='a2'><img id='img2' src="http://www.google.cn/images/nav_logo3.png" border="0" alt=""/></a>
</div>

2026-01-02 星期五 农历冬月十四