Archive for the ‘囊中私藏’ Category

ASP常用数据库连接及操作的方法和技巧

星期三, 10月 18th, 2006

今天在落伍论坛上看到的一篇实用的技术总结贴,原文来自CSND Snowdust的Blog

1.ASP连接Access数据库

<%
dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile
%>

2. ASP与SQL数据库连接:

<%
dim conn
set conn=server.createobject("ADODB.connection")
con.open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服务器名称或IP地址;UID=sa;PWD=数据库密码;DATABASE=数据库名称
%>
建立记录集对象:
Set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2

3. SQL常用命令使用方法:

(1) 数据记录筛选:

sql="select * from 数据表 where 字段名=字段值 order by 字段名 "
sql="select * from 数据表 where 字段名 like ‘%字段值%‘ order by 字段名 "
sql="select top 10 * from 数据表 where 字段名 order by 字段名 "
sql="select * from 数据表 where 字段名 in (‘值1‘,‘值2‘,‘值3‘)"
sql="select * from 数据表 where 字段名 between 值1 and 值2"

(2) 更新数据记录:

sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"

(3) 删除数据记录:

sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)

(4) 添加数据记录:

sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)"
sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)

(5) 数据记录统计函数:

AVG(字段名) 得出一个表格栏平均值
COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)

用 rs("别名") 获取统的计值,其它函数运用同上。

(5) 数据表的建立和删除:

Create TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )

例:Create TABLE tab01(name varchar(50),datetime default now())

Drop TABLE 数据表名称 (永久性删除一个数据表)

(6) 记录集对象的方法:
rs.movenext 将记录指针从当前的位置向下移一行
rs.moveprevious 将记录指针从当前的位置向上移一行
rs.movefirst 将记录指针移到数据表第一行
rs.movelast 将记录指针移到数据表最后一行
rs.absoluteposition=N 将记录指针移到数据表第N行
rs.absolutepage=N 将记录指针移到第N页的第一行
rs.pagesize=N 设置每页为N条记录
rs.pagecount 根据 pagesize 的设置返回总页数
rs.recordcount 返回记录总数
rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否
rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否
rs.delete 删除当前记录,但记录指针不会向下移动
rs.addnew 添加记录到数据表末端
rs.update 更新数据表记录

判断所填数据是数字型

if not isNumeric(request("字段名称")) then
response.write "不是数字"
else
response.write "数字"
end if

经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,翻来翻去。一些比较少用的数据库还不一定能顺利找到,所以现在把它们全归纳到这里,提供大家参考。

一、数据库的连接方法:
1.Access数据库的DSN-less连接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("数据库所在路径")

2.Access OLE DB连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("数据库所在路径")

3.SQL server连接方法:

set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=数据库名;"

4.SQL server OLE DB连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=数据库名"

5.Oracle 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"

6.Oracle OLE DB 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"

7.dBase 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=————;"

8.mySQL 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"

9.Visual Foxpro 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"

10.MS text 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft text driver(*.txt; *.csv)};dbq=—–;"&_
"extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"

11.MS text OLE DB 连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=microsof.jet.oledb.4.0;data source=your_path;"&_
"Extended Properties'text;FMT=Delimited'"

<二>。常用的四种SQL命令:

1.查询数据记录(Select)
语法:Select 字段串行 From table Where 字段=内容
例子:想从book表中找出作者为"cancer"的所有记录,SQL语句便如下:
select * from book where author=’cancer’
"*"是取出book表所有的字段,如查询的字段值为数字,则其后的"内容"便无须加上单引号,

如是日期,则在Access中用(#)包括,而在SQL server中则用(’)包括,
如:

select * from book where id=1
select * from book where pub_date=#2002-1-7# (Access)
select * from book where pub_date=’2002-1-7’ (SQL Server)

提示:
日期函数to_date不是标准sql文,不是所有的数据库适用,所以大家在使用的时候要参考数据库具体语法

另外如果是查询传入的变量,则如下:

strau=request.form("author")
strsql="select * from book where author=’"&strau&"’"

如果查询的是数字,则:

intID=request.form("id")
strsql="select * from book where id="&intID

在很多数据库中,如:oracle,上面的语句是可以写成:
strsql="select * from book where id='"&intID&"'"的。
但是字符型一定不能按照数字格式写,需要注意。

2.添加记录(Insert)
语法:Insert into table(field1,field2,….) Values (value1,value2,….)
例子:添加一作者是"cancer"的记录入book表:
insert into book (bookno,author,bookname) values (’CF001’,’cancer’,’Cancer无组件上传程序’)
同样,如果用到变量就如下:

strno=request.form("bookno")
strau=request.form("author")
strname=request.form("bookname")
strsql="insert into book (bookno,author,bookname) values (’"&strno&"’,’"&strau&"’,’"&strname&"’)"

3.用Recordset对象的Addnew插入数据的方法:
语法:

rs.addnew
rs("field1").value=value1
rs("field2").value=value2

rs.update

4.修改数据记录(Update)
语法:update table set field1=value1,field2=value2,…where fieldx=valuex
例子:update book set author=’babycrazy’ where bookno=’CF001’
如果用到变量就如下:

strno=request.form("bookno")
strau=request.form("author")
strsql="update book set author=’"&strau&"’ where bookno=’"&strno"’"

5.Recordset对象的Update方法:
语法:

rs("field1").value=value1
rs("field2").value=value2

rs.update

注意:使用语法3和语法5的时候,一定要注意字段的类型(尤其是日期型)一致,否则出错的几率非常的高。

例子:

strno=request.form("bookno")
strau=request.form("author")
set adocon=server.createobject("adodb.connection")
adocon.open "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & _
Server.Mappath=("/cancer/cancer.mdb")
strsql="select * from book where bookno=’"&strno&"’"
set rs=server.createobject("adodb.recordset")
rs.open strsql,adconn,1,3
if not rs.eof then ’如果有此记录的话
rs("author").value=strau
rs.update
end if
rs.close
set rs=nothing
adocon.close
set adocon=nothing

6.删除一条记录(Delete)
语法:Delete table where field=value
例子:删除book表中作者是cancer的记录

delete book where author=’cancer’

(注意:如果book表中author字段的值为cancer的记录有多条,将会删除所有author为cancer的记录)

策划书/策划方案的格式和写作方法

星期四, 10月 5th, 2006

前几天发了篇调研报告的格式及写作方法,今天找了些关于策划书/策划方案的格式和写作方法的文章,留作存档,同时供大家参考。

如何写企业策划书

一、怎样写好商业计划书

那些既不能给投资者以充分的信息也不能使投资者激动起来的商业计划书,其最终结果只能是被扔进垃圾箱里。为了确保商业计划书能“击中目标”,风险企业家应做到以下几点:

1、关注产品

在商业计划书中,应提供所有与企业的产品或服务有关的细节,包括企业所实施的所有调查。这些问题包括:产品正处于什么样的发展阶段?它的独特性怎样?企业分销产品的方法是什么?谁会使用企业的产品,为什么?产品的生产成本是多少,售价是多少?企业发展新的现代化产品的计划是什么?把出资者拉到企业的产品或服务中来,这样出资者就会和风险企业家一样对产品有兴趣。在商业计划书中,企业家应尽量用简单的词语来描述每件事?商品及其属性的定义对企业家来说是非常明确的,但其他人却不一定清楚它们的含义。制订商业计划书的目的不仅是要出资者相信企业的产品会在世界上产生革命性的影响,同时也要使他们相信企业有证明它的论据。商业计划书对产品的阐述,要让出资者感到:“噢,这种产品是多么美妙、多么令人鼓舞啊!”

2、敢于竞争

在商业计划书中,风险企业家应细致分析竞争对手的情况。竞争对手都是谁?他们的产品是如何工作的?竞争对手的产品与本企业的产品相比,有哪些相同点和不同点?竞争对手所采用的营销策略是什么?要明确每个竞争者的销售额,毛利润、收入以及市场份额,然后再讨论本企业相对于每个竞争者所具有的竞争优势,要向投资者展示,顾客偏爱本企业的原因是:本企业的产品质量好,送货迅速,定位适中,价格合适等等,商业计划书要使它的读者相信,本企业不仅是行业中的有力竞争者,而且将来还会是确定行业标准的领先者。在商业计划书中,企业家还应阐明竞争者给本企业带来的风险以及本企业所采取的对策。

3、了解市场

商业计划书要给投资者提供企业对目标市场的深入分析和理解。要细致分析经济、地理、职业以及心理等因素对消费者选择购买本企业产品这一行为的影响,以及各个因素所起的作用。商业计划书中还应包括一个主要的营销计划,计划中应列出本企业打算开展广告、促销以及公共关系活动的地区,明确每一项活动的预算和收益。商业计划书中还应简述一下企业的销售战略:企业是使用外面的销售代表还是使用内部职员?企业是使用转卖商、分销商还是特许商?企业将提供何种类型的销售培训?此外,商业计划书还应特别关注一下销售中的细节问题。

4、表明行动的方针

企业的行动计划应该是无解可击的。商业计划书中应该明确下列问题:企业如何把产品推向市场?如何设计生产线,如何组装产品?企业生产需要哪些原料?企业拥有那些生产资源,还需要什么生产资源?生产和设备的成本是多少?企业是买设备还是租设备?解释与产品组装,储存以及发送有关的固定成本和变动成本的情况。

5、展示你的管理队伍

把一个思想转化为一个成功的风险企业,其关键的因素就是要有一支强有力的管理队伍。这支队伍的成员必须有较高的专业技术知识、管理才能和多年工作经验,要给投资者这样一种感觉:“看,这支队伍里都有谁!如果这个公司是一支足球队的话,他们就会一直杀入世界杯决赛!”管理者的职能就是计划,组织,控制和指导公司实现目标的行动。在商业计划书中,应首先描述一下整个管理队伍及其职责,然而再分别介绍每位管理人员的特殊才能、特点和造诣,细致描述每个管理者将对公司所做的贡献。商业计划书中还应明确管理目标以及组织机构图。

6、出色的计划摘要

商业计划书中的计划摘要也十分重要。它必须能让读者有兴趣并渴望得到更多的信息,它将给读者留下长久的印象。计划摘要将是风险企业家所写的最后一部分内容,但却是出资者首先要看的内容,它将从计划中摘录出与筹集资金最相干的细节:包括对公司内部的基本情况,公司的能力以及局限性,公司的竞争对手,营销和财务战略,公司的管理队伍等情况的简明而生动的概括。如果公司是一本书,它就象是这本书的封面,做得好就可以把投资者吸引住。它会风险投资家有这样的印象:“这个公司将会成为行业中的巨人,我已等不及要去读计划的其余部分了。”

二、商业计划书的内容

1、计划摘要

计划摘要列在商业计划书书的最前面,它是浓缩了的商业计划书的精华。计划摘要涵盖了计划的要点,以求一目了然,以便读者能在最短的时间内评审计划并做出判断。

计划摘要一般要有包括以下内容:公司介绍;主要产品和业务范围;市场概貌;营销策略;销售计划;生产管理计划;管理者及其组织;财务计划;资金需求状况等。

在介绍企业时,首先要说明创办新企业的思路,新思想的形成过程以及企业的目标和发展战略。其次,要交待企业现状、过去的背景和企业的经营范围。在这一部分中,要对企业以往的情况做客观的评述,不回避失误。中肯的分析往往更能赢得信任,从而使人容易认同企业的商业计划书。最后,还要介绍一下风险企业家自己的背景、经历、经验和特长等。企业家的素质对企业的成绩往往起关键性的作用。在这里,企业家应尽量突出自己的优点并表示自己强烈的进取精神,以给投资者留下一个好印象。

在计划摘要中,企业还必须要回答下列问题:(1)企业所处的行业,企业经营的性质和范围;(2)企业主要产品的内容;(3)企业的市场在那里,谁是企业的顾客,他们有哪些需求;(4)企业的合伙人、投资人是谁;(5)企业的竞争对手是谁,竞争对手对企业的发展有何影响。
  摘要要尽量简明、生动。特别要详细说明自身企业的不同之处以及企业获取成功的市场因素。如果企业家了解他所做的事情,摘要仅需2页纸就足够了。如果企业家不了解自己正在做什么,摘要就可能要写20页纸以上。因此,有些投资家就依照摘要的长短来“把麦粒从谷壳中挑出来”

2、产品(服务)介绍

在进行投资项目评估时,投资人最关心的问题之一就是,风险企业的产品、技术或服务能否以及在多大程度上解决现实生活中的问题,或者,风险企业的产品(服务)能否帮助顾客节约开支,增加收入。因此,产品介绍是商业计划书中必不可少的一项内容。通常,产品介绍应包括以下内容:产品的概念、性能及特性;主要产品介绍;产品的市场竞争力;产品的研究和开发过程;发展新产品的计划和成本分析;产品的市场前景预测;产品的品牌和专利。

在产品(服务)介绍部分,企业家要对产品(服务)作出详细的说明,说明要准确,也要通俗易懂,使不是专业人员的投资者也能明白。一般的,产品介绍都要附上产品原型、照片或其他介绍。一般地,产品介绍必须要回答以下问题:

(1)顾客希望企业的产品能解决什么问题,顾客能从企业的产品中获得什么好处?

(2)企业的产品与竞争对手的产品相比有哪些优缺点,顾客为什么会选择本企业的产品?

(3)企业为自己的产品采取了何种保护措施,企业拥有哪些专利、许可证,或与已申请专利的厂家达成了哪些协议?

(4)为什么企业的产品定价可以使企业产生足够的利润,为什么用户会大批量地购买企业的产品?

(5)企业采用何种方式去改进产品的质量、性能,企业对发展新产品有哪些计划等等。

产品(服务)介绍的内容比较具体,因而写起来相对容易。虽然夸赞自己的产品是推销所必需的,但应该注意,企业所做的每一项承诺都是“一笔债”,都要努力去兑现。要牢记,企业家和投资家所建立的是一种长期合作的伙伴关系。空口许诺,只能得意于一时。如果企业不能兑现承诺,不能偿还债务,企业的信誉必然要受到极大的损害,因而是真正的企业家所不屑为的。

3、人员及组织结构

有了产品之后,创业者第二步要做的就是结成一支有战斗力的管理队伍。企业管理的好坏,直接决定了企业经营风险的大小。而高素质的管理人员和良好的组织结构则是管理好企业的重要保证。因此,风险投资家会特别注重对管理队伍的评估。

企业的管理人员应该是互补型的,而且要具有团队精神。一个企业必须要具备负责产品设计与开发、市场营销、生产作业管理、企业理财等方面的专门人才。在商业计划书书中,必须要对主要管理人员加以阐明,介绍他们所具有的能力,他们在本企业中的职务和责任,他们过去的详细经历及背景。此外,在这部分商业计划书书中,还应对公司结构做一简要介绍,包括:公司的组织机构图;各部门的功能与责任;各部门的负责人及主要成员;公司的报酬体系;公司的股东名单,包括认股权、比例和特权;公司的董事会成员;各位董事的背景资料。

4、市场预测

当企业要开发一种新产品或向新的市场扩展时,首先就要进行市场预测。如果预测的结果并不乐观,或者预测的可信度让人怀疑,那么投资者就要承担更大的风险,这对多数风险投资家来说都是不可接受的。

市场预测首先要对需求进行预测:市场是否存在对这种产品的需求?需求程度是否可以给企业带来所期望的利益?新的市场规模有多大?需求发展的未来趋向及其状态如何?影响需求都有哪些因素。其次,市场预测还要包括对市场竞争的情况??企业所面对的竞争格局进行分析:市场中主要的竞争者有哪些?是否存在有利于本企业产品的市场空档?本企业预计的市场占有率是多少?本企业进入市场会引起竞争者怎样的反应,这些反应对企业会有什么影响?等等。

在商业计划书书中,市场预测应包括以下内容:市场现状综述;竞争厂商概览;目标顾客和目标市场;本企业产品的市场地位;市场区格和特征等等。

风险企业对市场的预测应建立在严密、科学的市场调查基础上。风险企业所面对的市场,本来就有更加变幻不定的、难以捉摸的特点。因此,风险企业应尽量扩大收集信息的范围,重视对环境的预测和采用科学的预测手段和方法。风险企业家应牢记的是,市场预测不是凭空想象出来,对市场错误的认识是企业经营失败的最主要原因之一。

5、营销策略

营销是企业经营中最富挑战性的环节,影响营销策略的主要因素有:

(1)消费者的特点;

(2)产品的特性;

(3)企业自身的状况;

(4)市场环境方面的因素。最终影响营销策略的则是营销成本和营销效益因素。

在商业计划书中,营销策略应包括以下内容:

(1)市场机构和营销渠道的选择;

(2)营销队伍和管理;

(3)促销计划和广告策略;

(4)价格决策。

对创业企业来说,由于产品和企业的知名度低,很难进入其他企业已经稳定的销售渠道中去。因此,企业不得不暂时采取高成本低效益的营销战略,如上门推销,大打商品广告,向批发商和零售商让利,或交给任何愿意经销的企业销售。对发展企业来说,它一方面可以利用原来的销售渠道,另一方面也可以开发新的销售渠道以适应企业的发展。

6、制造计划

商业计划书中的生产制造计划应包括以下内容:产品制造和技术设备现状;新产品投产计划;技术提升和设备更新的要求;质量控制和质量改进计划。

在寻求资金的过程中,为了增大企业在投资前的评估价值,风险企业家应尽量使生产制造计划更加详细、可靠。一般地,生产制造计划应回答以下问题:企业生产制造所需的厂房、设备情况如何;怎样保证新产品在进入规模生产时的稳定性和可靠性;设备的引进和安装情况,谁是供应商;生产线的设计与产品组装是怎样的;供货者的前置期和资源的需求量;生产周期标准的制定以及生产作业计划的编制;物料需求计划及其保证措施;质量控制的方法是怎样的;相关的其他问题。

7、财务规划

财务规划需要花费较多的精力来做具体分析,其中就包括现金流量表,资产负债表以及损益表的制备。流动资金是企业的生命线,因此企业在初创或扩张时,对流动资金需要有预先周详的计划和进行过程中的严格控制;损益表反映的是企业的赢利状况,它是企业在一段时间运作后的经营结果;资产负债表则反映在某一时刻的企业状况,投资者可以用资产负债表中的数据得到的比率指标来衡量企业的经营状况以及可能的投资回报率。

财务规划一般要包括以下内容:

(1)商业计划书的条件假设;

(2)预计的资产负债表;预计的损益表;现金收支分析;资金的来源和使用。

可以这样说,一份商业计划书概括地提出了在筹资过程中风险企业家需做的事情,而财务规划则是对商业计划书的支持和说明。因此,一份好的财务规划对评估风险企业所需的资金数量,提高风险企业取得资金的可能性是十分关键的。如果财务规划准备的不好,会给投资者以企业管理人员缺乏经验的印象,降低风险企业的评估价值,同时也会增加企业的经营风险,那么如何制订好财务规划呢?这首先要取决于风险企业的远景规划??是为一个新市场创造一个新产品,还是进入一个财务信息较多的已有市场。

着眼于一项新技术或创新产品的创业企业不可能参考现有市场的数据、价格和营销方式。因此,它要自己预测所进入市场的成长速度和可能获得纯利,并把它的设想、管理队伍和财务模型推销给投资者。而准备进入一个已有市场的风险企业则可以很容易地说明整个市场的规模和改进方式。风险企业可以在获得目标市场的信息的基础上,对企业头一年的销售规模进行规划。

企业的财务规划应保证和商业计划书的假设相一致。事实上,财务规划和企业的生产计划、人力资源计划、营销计划等都是密不可分的。

要完成财务规划,必须要明确下列问题:

(1)产品在每一个期间的发出量有多大?

(2)什么时候开始产品线扩张?

(3)每件产品的生产费用是多少?

(4)每件产品的定价是多少?

(5)使用什么分销渠道,所预期的成本和利润是多少?

(6)需要雇佣那几种类型的人?

(7)雇佣何时开始,工资预算是多少?等等。

三、检查

在商业计划书写完之后,风险企业家最好再对计划书检查一遍,看一下该计划书是否能准确回答投资者的疑问,争取投资者对本企业的信心。通常,可以从以下几个方面对计划书加以检查:

1、你的商业计划书书是否显示出你具有管理公司的经验。如果你自己缺乏能力去管理公司,那么一定要明确地说明,你已经雇了一位经营大师来管理你的公司。

2、你的商业计划书书是否显示了你有能力偿还借款。要保证给预期的投资者提供一份完整的比率分析。

3、你的商业计划书书是否显示出你已进行过完整的市场分析。要让投资者坚信你在计划书中阐明的产品需求量是确实的。

4、你的商业计划书书是否容易被投资者所领会。商业计划书书应该备有索引和目录,以便投资者可以较容易地查阅各个章节。此外,还应保证目录中的信息流是有逻辑的和现实的。

5、你的商业计划书书中是否有计划摘要并放在了最前面,计划摘要相当于公司商业计划书书的封面,投资者首先会看它。为了保持投资者的兴趣,计划摘要应写的引人入胜。

6、你的商业计划书书是否在文法上全部正确。如果你不能保证,那么最好请人帮你检查一下。计划书的拼写错误和排印错误能很快就使企业家的机会丧失。

7、你的商业计划书书能否打消投资者对产品/服务的疑虑。如果需要,你可以准备一件产品模型。

补充资料:

营销策划方案的拟订步骤和格式

一、拟定策划方案的步骤

连锁经营营销策划方案的拟定,应依照下列步骤进行:

1、确定目标主题。将策划的目标主题确立于一定时空范围之内,力求主题明晰,重点突出。

2、收集资料。围绕目标主题,通过多种方式收集信息资料。

3、调查市场态势。围绕目标主题,进行全面的市场调查,掌握第一手资料。

4、整理资料情报。综合市场调查的第一手资料和现成的第二手资料,整理成为对目标主题有用的情报。

5、提出具体创意。根据实际需要,提出营销策划新的创意。

6、选择可行方案。将符合目标主题的创意,变成具体的执行方案。

7、制定实施细则。根据选定的方案把各功能部门和任务加以详细分配,分头实施,并按进度表与预算表进行监控。

8、制定检查办法。对策划的方案提出详细可行的检查办法和评估标准。

二、策划方案的格式

1、策划方案名称。要求清楚、明确、具体。

2、策划者资料介绍。包括姓各、单位和职务等。

3、完成方案的时间。按实际完成方案日期填写年/月/日。

4、策划方案的目标。用准确的数据表达清楚。

5、策划方案的正文。包括策划的起因、背景、目标主题和市场机会、创意关键、实施及检查评估

6、预算和进度细表。列表详细说明方案所需资金投入、人力投入、组织构建和进度安排等。

7、方案的效果预测。根据资料情报预测策划方案实施的量化效果。

8、方案参考的资料。列出制定策划方案所参考的文献资料,增加方案的可信度和可行性。

9、其他备案的说明。对多个备选的方案,进行必要的补充说明。

10、其他的注意事项。提出预防措施,以做到有备无患。

三、营销策划的格式

1、营销机会分析。包括:整个商品或消费品市场的数量和金额分析;各竞争店牌或品牌的销售量与销售额分析;各竞争店牌或品牌商品结构的销售量与销售额的分析;各竞争店牌或品牌市场占有率的比较分析;顾客与消费者年龄、性别、家庭收入等分析;各竞争店牌或品牌商品优缺点的分析;各竞争店牌或品牌市场细分与商品定位的比较分析;各竞争店牌或品牌广告费用与广告表现的比较分析;各竞争店牌或品牌促销活动的比较分析;各竞争店牌或品牌公关活动的比较分析;各竞争店牌或品牌定价策略的比较分析;各竞争店牌或品牌分销策略的比较分析;各竞争店牌或品牌店铺布局的比较分析;企业的利润结构和费用情况分析。

2、目标市场定位。包括:确定目标市场和商品定位;经营目标;价格策略;分销策略;广告形式和投资预算;促销活动的重点和原则;公关活动的重点和原则。

3、促销活动规划。包括:明确促销的目标;选择促销的形式和内容。

4、分销活动计划。包括:价格策略;分销的渠道;店铺的陈列;服务的质量。

5、销售管理计划。包括:主管的职责权限;销售目标计划;人员的挑选和培训;推销人员的薪金标准;推销人员的奖励措施。

6、市场反馈和调整。包括:市场销售信息的反馈方式3市场销售信息的反馈整理;经营目标的核算;经营行为的调整。

=====================================================================

CDMA的市场营销策划方案
贺小燕
市场环境分析

一、宏观环境分析

1. 经济环境

移动通信产业是一个极其巨大的产业,除了电信运营商之外,还包括手机,电信设备,测试仪表,工具软件,元器件,半导体甚至手机零售等相关产业。有数据显示,在2000年度国民生产总值中,移动通信产业的拉动效应为0.8个百分点。放在这样的产业背景下,联通CDMA项目显得更加意义深远。

2. 政治/法律环境

信息产业部一直强调要发展自己的手机产业,甚至还为一些国内厂商下拨了大笔的研发经费。国家计委还授予19家企业生产CDMA手机的资格。

对于国内电信设备供应商来说,一个有利的好消息是国家对于CDMA的支持达到了前所未有的高度。2001年9月26日,信息产业部评选出第一届信息产业重大技术发明。在六项获奖技术中,有两项与CDMA有关,由此不难看出政府对于CDMA的重视以及对掌握自主知识产权的渴望。

3. 科技环境

通过市场调查发现,手机用户对目前所使用的手机在清晰度,网络,辐射等方面满意的约占1/3,一般的占1/3,不满意和很满意的各占1/6。而CDMA在通话质量,电磁辐射等方面具有优势。

二、微观环境分析

1. 竞争者状况

在3G时代到来之前,中国联通与中国移动的竞争将在两个层面展开:在原有的GSM领域,双方基本上会延续目前的竞争态势;在向第三代移动通信过度方面,则将会GPRS与CDMA的正面交锋,这将是双方竞争的主战场。

2. 消费者状况

据调查,消费者拥有手机的比例每年逐步增加且对手机的性能要求越来越高。很多新老用户对CDMA的性能有着浓厚的兴趣。

3. 企业自身表现

中国联通“十五”期间的发展目标是到2005年移动电话用户总数达到0.8亿——1亿,市场占有率达到35%;国际国内长途电话,数据通信和互联网市场占有率分别达到20%;无线寻呼继续保持市场占有率的绝对优势。为了实现这一目标,中国联通将在“十五”期间追加固定资产投资2500亿至2600亿元。从上述数字来看,联通移动电话新增用户的半数以上将来自CDMA,而联通投入到CDMA项目中的资金也占其总投资额的40%左右。

机会与风险分析

一、机会分析

1. 技术优势

(1)CDMA手机发射功率小,是名副其实的绿色手机。CDMA手机的平均发射功率是2mw,是GSM手机的平均发射功率(125mw)的1/60,甚至低于电视屏幕产生的辐射功率。

(2)CDMA手机语音质量高,可与固定电话媲美,而且没有掉线的现象。

(3)由于CDMA的一些技术优势,它里面的机芯可以做得更小,更轻,而且功能更强大。因此,CDMA手机可以做得更加小巧轻便,更能富有个性化的特征。

2. 频段资源优势

联通之所以接管133网(原长城网),一个很重要的目的就是看中了133网宝贵的频段资源。现在国际上已经出现了拍卖频段资源的做法,我国也有可能借鉴这一模式,因此,现在联通CDMA所获得的频段资源必将成为未来的竞争优势。而GPRS与GSM共有相同的频率,据测算,中国移动GSM网络的频宽最多只能支持1亿用户,必然会因GPRS与GSM争抢频率资源而影响GPRS的发展。

3. 国家扶持民族手机工业

信息产业部一直强调要发展自己的手机产业,甚至还为一些国内厂商下拨了大笔的研发经费,此次获得CDMA手机生产资格的仅有一家外资企业,其余均为国内厂商,再次表明了信息产业部扶持民族手机工业的态度。

二、风险分析

1.虽说CDMA在技术上确实比GSM优点更多一些,但是它只能属于从2G到3G的过渡期,CDMA的寿命长短取决于这个过渡期有多长。

2. 更大的风险在于,一旦联通选定CDMA,在未来到3G之路上,它就要一直沿着高通的标准走下去,换句话说,不管是否技术最先进,联通很可能会一直受制于高通。

3.联通建设CDMA是构建一个全新的网络,用于网络,基站,设备方面的开销相当巨大。而GPRS技术向下兼容GSM,可以从现有的GSM网络发展而来,投入自然要低许多。由此可见,联通在价格上不会占据优势。

4. 此外,联通在用户基础方面的优势也会影响CDMA的推广。对于一般的移动通讯用户来说,现有的GSM网络的服务基本上能够满足他们的需要,在这种情况下,人们不会轻易投入CDMA的怀抱,因为CDMA不但换号还要换手机。在这种情况下,联通CDMA的用户将主要来自新用户和联通130用户的“跳网”。因此,双模手机(GSM与CDMA均可)对于联通打开市场局面将会产生非常重要的作用,而这一点却不是联通自己可以解决的问题。

市场细分

从联通公司抽样的样本来看,有手机的约占76%,其中愿意更换的占52%,不会更换的占48%;没有手机的占24%,其中愿意购买的占71%,不会购买的占29%。

从上述情况来看可以以用户有无手机来细分市场:

1. 手机新用户:这群消费者没买过手机,当市场上有高品质高质量的新型手机时,他们一般会倾向购买这类手机。

2. 使用中国移动手机的用户:这类消费者对CDMA心存怀疑,且使用CDMA不仅要换号还要换机,因此这类用户大多数对它持观望态度,不会购买;只有少数人在经济能够允许的情况下会尝试购买使用CDMA。

3. 使用中国联通手机的用户:这类消费者原来就使用联通的130手机,只要他们意识到CDMA在技术上的好处,他们转向购买CDMA也是比较简单的。

战略规划

1. 战略思路:

(1)大力宣传提倡CDMA的技术优势,尤其是其胜于GSM与GPRS的方面。 (2)树立倡导振兴民族企业的观念。国家信息产业部公布计委的决定,有19家企业获得了生产CDMA手机的资格,其中有18家是国内企业,只有一家是外资企业。表明了产业部扶持手机工业的态度。在GSM手机市场上,国产品牌几年来奋力拼搏,奈何只能望洋兴叹,市场份额仅占15%左右。而在CDMA手机方面国内厂商无疑获得了许多有利的位置——技术背景相同,都采用高通的核心技术;市场地位平等,目前还没有形成寡头垄断的局面。

(3)不与GSM和GPRS打价格战。

2. 产品功能定位:保密性强,话音清晰,掉线率低,电池辐射小。

3 . 品牌形象定位:小巧轻便,中国人自己的手机。

4. 消费人群定位:以手机新用户为主,辅以一些联通手机用户和少许经济富裕的中国移动手机用户。

营销组合

一、价格

由于CDMA是个全新的网络,用于网络,设备等方面的开销相当巨大,而GPRS技术可以向下兼容GSM,可以从现有的网络发展而来,投入自然要低许多。因此,不能与它们打价格战,主要以技术取胜。

二、广告与促销策略

1. 广告创意策略原则:以理性诉求为主,以感性诉求为辅。

2. 广告诉求目标:手机新用户。

3. 广告表现策略:为了在广告中体现“振兴民族工业”的理念,应该请具有民族英雄气质的明星来推广,并宣传CDMA的优点。

4. 促销策略原则:用常规方法加大产品的市场采纳力度,用出奇制胜的方法从竞争对手中夺取市场。

(摘自《通信信息报》)

大型活动的策划和实施

大型活动策划和实施是公关工作常用的技术手段。要有效地进行大型活动策划与实施,首先要弄清楚几个基本问题,例如:如何界定大型活动?哪些单位或在什么样的情况下使用大型活动?大型活动策划有什么技巧?策划的程序、方法是怎样的?这样有利于我们把大型活动组织的更加完善。

一、大型活动的定义

大型活动是一项有目的、有计划、有步骤地组织众多人参与的社会协调活动。这一定义要把握三个重要概念:

第一,大型活动要有鲜明的目的性。大型活动往往耗费很多资源,包括人力、物力。如一个产品要进入一个中心城市,恐怕要花数百万元的传播费用。这样大的花费,为什么还要组织这样的大型活动呢?当然是为了企业的传播需要,为了吸引更多的人去购买他的股票,这是大型活动的目标。没有目的而耗费资金做活动是不可能的,目的不鲜明也是不值得的。

第二,要有计划性。凡事都应有计划,大型活动更不例外,而且更要求有周密的计划。

第三,众多人参与是大型活动重要的概念。既然是大型活动,就应该有众多的人参与,但并不是参与人数多就是大型活动。一个单位有一万个职工,要开一个全体大会,也是众多人参与,你能说这是大型活动吗?大型活动和小型活动的根本区别不仅在于参与人的数量,而是在于活动的社会化程度。

二、大型活动的特点

1、必须有鲜明的目的性。不是一般的目的,而应该是围绕整个组织机构的组织形象策略和近期公关目标而确立的目的。我们在讨论这个问题的时候,有人喜欢问:假如一个机构的公关目标跟社会需求发生矛盾时,你作为该机构的公关顾问,应该怎样处理这个问题?其实这样的问题非常简单,一个组织的形象只有永远与社会协调同步,才有可能在社会环境中树立起它的良好组织形象,如果靠欺骗的手法,即使一时占领了销售市场,或者说提高了市场占有率,但最终还是要退出这个市场的。

因此,活动的目的性应该站在社会综合的立场上,并不仅仅是站在我们某一个企业的立场上。

2、广泛的社会传播性。公关的大型活动本身就是一个传播媒体,其作用像一个大众传播媒介,只不过这个传播媒介在大型活动没有组织之前是不发生传播作用的,一旦这个活动开展起来,就能产生良好的传播效果,我们还应该注意到活动本身吸引了公众与媒介的参与,因此,大型活动的信息是通过媒介或者是通过公众传播的,这是我们在策划大型活动的过程中必须考虑到一个很重要的特点。

3、严密的操作性。在组织大型活动的过程中,给我们成功与失败的机会只有一次。因为大型活动不同拍电影、电视, 拍电影、电视能拍三、四组镜头,最后再重新编辑,但是策划大型活动每一次都是现场直播,一旦出现失误就无法弥补了。

4、高投资性。一个大型活动往往要投入的资金和费用都是比较大的,绝对不可能用很少的资金做出很大的活动。我们可以提倡一个铜板掰成两个甚至是多个来花的精神,但高投资是最基本的特点。如果不是特别的需要,一般不要动辄使用大型活动的手段。

三、大型活动策划

从程序上说,大型活动策划和实施,要完全按照公关四步工作法的要求执行:

第一,就是要把活动作为一个项目确定下来,这个活动要不要做?为什么做?一定要很清晰。

第二,进行调查和可行性研究。做调查,大家很清楚,不详细阐述,但大型活动策划调查有其特殊性,例如调查的内容:国家关于大型活动方面的政策和法规、公众关注的热点、历史上同类个案的资讯、场地状况和时间的选择性,都是调查的内容。可行性研究,是一个十分重要的工作步骤。研究范围包括大型活动的社会适应性,包括社会环境和目标公众的适应性。财力适应性、效益的可行性。从效益的角度考虑,做这样的活动是否有利于我们宣传方面节省费用?如果我投放媒介做广告,比做大型活动更有效,大型活动就不一定做了。还有社会物质水平的适应性,大型活动需要动用许多社会物质,许多创意也需要物质的支持,因而需要策划人员把握现代科研成果。最后一个是应急能力的适应研究性,需要那些应变措施?如户外活动要考虑天气的情况,野外活动考虑更多的是安全设施问题,这些都是我们要进行可行性研究的范畴。

第三,提炼主题,进行创意。除了个人创意外,我们要特别强调群体创意的概念。当今的时代已经不像三国演义时代要有一个诸葛孔明,靠一个人拈指算出什么妙计来,而是靠不同学科的组合群体策划。这不是泯灭个人的创意,集体创意的过程也始终贯穿着个人的创意过程,作为现代策划,需要的是多个学科的综合和集体的智慧,而不是某个大师的杰作。

第四,方案论证。方案不仅要有论证,而且要有科学的论证,方案论证通常使用定位式优选法,轮转式优选法和优点移植法。

四、操作实施过程应注意的问题

1、实施操作设计。我们应该非常重视实施方案的操作设计。我们看到一些单位组织的活动,甚至是专业机构承接的活动,都存在这样的问题:创意很好,但是由于缺乏操作设计,在操作过程中出现很多问题,违背了原创精神或者没有达到原创水平。所以,在原则方案确定以后,还要进一步进行操作设计,操作设计必须包括比较准确的财务预算。

2、办理审批手续。有人觉得办审批很繁琐,怕麻烦。但在实际工作中,我们应该希望得到有关单位的审批。

3、实施操作程序的管理。程序化管理是一种科学的管理意识,只有程序化实施,才能有标准化、科学化管理,因而实施设计,重要的是设计出操作的规范程序。

4、方案培训。在大型活动里,假如参与的工作人员不了解全局的策划意图,他们就不能为大型活动策略实施提供建设性的劳动,因而需要对工作人员进行方案培训,只有知情才能出力。

5、设计评估标准。一个大型活动的评估应该有一个准确的评估标准。现在很多方案做好以后,往往忽略做评估标准方案,包括我们的客户很少要求我们做评估方案,更不愿意付出费用,让专业公司给他做评估报告。评估标准,应该在我们策划的时候把它设计出来,这样可以让客户在完成这个方案以后,根据设定的标准作出科学评估。

五、策划的技巧。

一是创造活动的“眼”,“眼”的概念是从文章的文眼、歌曲的歌眼中引伸出来的。大型活动策划同样需要创造这样一个非常精彩的地方,要有高潮,要把这个环节设计得更有传播性,这是大型活动创意的核心和关键。

二是应该有一个比较能够表达我们主题的氛围设计,今天大家在大会会场看到大会主题形象宣传板,很清晰,而且它有中英文,这些宣传板带出这次大会主题氛围,也带出了国际公共关系交流的概念,这是很用心思的策划。我们应该重视通过场地的设计,气氛的设计,把活动的主题氛围带出来,这点往往有很多人不太重视,他们只考虑某一个活动环节上的创意,而忽略了场地上的创意。

在大型活动的策划和实施过程中,还有很多技巧可以利用,只要我们不断总结提高,就一定能创作出更多、更有影响力的大型活动。

======================================================================

公关活动策划与实施的技巧

公关活动策划与实施是企业策划部、公关公司、策划公司、广告公司在工作中常用的技术手段。成功的公关活动能持续提高品牌的知名度、认知度、美誉度、忠诚度、顾客满意度,提升组织品牌形象,改变公众对组织的看法,累积无形资产,并能从不同程度上促进销售。很多组织都运作过公关活动,但没有目标、没有重点、虎头蛇尾、不够严谨的公关活动屡见不鲜。有的公关活动由于策划欠周全或危机处理不力,导致活动失败、损失较大,甚至酿成事故,造成人员伤亡,受到法律制裁。

公关活动策划有常规的方法可供遵循,但也有不少技巧。三分策划,七分实施。

一、目标一定要量化

公关活动特别是大型公关活动往往耗费很多人力、物力、财力资源。一个新产品在中心城市的上市传播费用,一般都在百万元以上。为什么要进行这样大的公关投入?为了企业的传播需要,为了建立品牌的知名度、认知度、美誉度,为了更多的目标消费者去购买他的产品,这就是新产品上市公关活动的目标。没有目标而耗费巨资做活动是不可取的,目标不明确是不值得的。笔者遇到一些保健品企业,看到同行做节日公关活动,他也要做,而且要求活动规模更大、规格更高、发稿更多,但说不清楚为什么要做,要传播什么样的卖点、概念,没有设立目标。有的企业做公关活动,设定了不少目标,比如,提高知名度、美誉度,促进销售等,但是没有量化(提高知名度、美誉度的百分比,促进销售的货币额度),方向模糊,错把目的当目标。目标一定要量化,它不是希冀式的观测,而是指日可待。只有量化目标,公关活动策划与实施才能够明确方向,才会少走弯路。

二、集中传播一个卖点

公关活动是展示企业品牌形象的平台,不是一般的促销活动,要确定活动卖点(主题),并以卖点作为策划的依据和主线。很多公关活动,花了不少钱都不知是什么活动,留不下很深的印象。只有提炼一个鲜明的卖点,创造公关活动的“眼”并传播,才能把有关资源整合起来,从而完成活动目标。这里的卖点是公关活动环节设计中最精彩、最具传神的地方,活动事隔多年,情节大多被人淡忘,但仍能让人记起的一个情节。公关活动策划需要创造这样一个非常精彩的高潮,要把这个高潮环节设计得更有唯一性、相关性、易于传播性。当然,集中传播一个卖点,并不是只传播一条信息,而是把活动目标和目标公众两项因素结合起来,重点突出一个卖点,提高活动的有效性。

三、公关活动本是就是一个媒体

  随着公关新工具、新技术的不断涌现,同新闻媒体、广告媒体一样,公关媒体也在发生着革命,网络等新兴媒体被应用于公关活动。殊不知,公关活动本身就是一个传播媒体,它具备大众媒体的很多特点,其作用和大众传媒相比,只是公关活动实施前不发生传播作用,一旦活动开展起来,它就能产生良好的传播效应。公关活动因其组织利益与公众利益并重的特点,具有广泛的社会传播性,本身就能吸引公众与媒体的参与,以活动为平台通过公众和大众传媒传播。在策划与实施公关活动时,配备好的相应的会刊、通讯录、内刊、宣传资料等,实现传播资源整合,能提升公关活动的价值与效果。

  四、没有调查就没有发言权

  国内不少公关公司做公关活动,因缺乏公众研究意识或公众研究水平有限、代理费少、时间紧等原因,省略公众调查这一重要工作环节已是司空见惯的事情。想一个好的点子,找一个适当的日子就可以搞公关活动,这是某些所谓“大师”的通病。但“没有调查就没有发言权”。“知已知彼,百战不殆”。只有摸清自己的优劣势,洞悉公众心理与需求,掌握竞争对手的市场动态,进行综合分析与预测,才能扬长避短,调整自身公关策略,赢得公关活动的成功。公关实践表明,公关活动的可行性、经费预算、公众分布、场地交通情况、相关政策法规等都应进行详细调查,然后进行比较,形成分析报告,最后作出客观决策。

五、策划要周全,操作要严密

  公关活动策划有哪些技巧呢?重点是一点:周全。这是因为公关活动给我们的成功或失败的机会只有一次。公关活动不是拍电影、电视,不能重来,每一次都是现场直播,一旦出现失误无法弥补,绝不能掉以轻心。

  六、化危机为机遇

  大型公关活动有一定的不可确定性,为了杜绝意外事件发生,公关人员在策划与实施的过程中要抱有强烈的危机意识,充分预测到有可能发生的各种风险,并制定出相应的对策。只有排除了所有风险,制订出的策划方案才有实现的保障。发生紧急事件时,要随机应变,不要手忙脚乱,不要抱怨,应保持头脑清醒,要冷静,迅速查明原因并确认事实的真相。已造成负面影响的,一种方法是及时向公众谢罪,防止再发生,不同媒体建立对立关系,避免负面报道,策略性处理媒介与公众关系,否则修复较难;另一方法是,化危机为机遇,借助突发事件扩大传播范围,借助舆论传播诚意,争取公众的支持,反被动为主动。

七、全方位评估

  在对公关活动进行评估时,往往是只评估实施效果,评估不够全面。如能在评估时,除实施效果外再评估活动目标是否正确、卖点是否鲜明、经费投入是否合理、投入与产出是否成正比、公众资料搜集是否全面、媒体组合是否科学、公众与媒体关系是否更加巩固、社会资源是否增加、各方满意度是否量化等,则公关活动的整体效果才能体现出来。这种全方位评估有利于活动绩效考核、责任到人,更能增加经验,为下一次公关活动的策划与实施打好基础。

  八、用公关手段解决公关问题

  社会上对公关活动的认识不同时期存在不同误区,加之部分媒体的错误引导,更加深了这种错误认知的蔓延。近年来,对公关的认识又有了新的误区,把公关活动等同于促销活动。实际上两者的目的、重心、手段不同。公关活动的目标是提高美誉度,提升亲和力;促销活动的目标是提高销售额、市场占有率。公关活动的重心是公众、媒体、政府,促销活动的重心是消费者。企业同时需要营销、公关两种职能,两种职能不能通用。公关是社会行为,营销是经济行为,公关活动关注公众,促销活动关注消费者,公关与市场区别较大,营销的手段不适用于解决公关问题。公关活动的公众非常多,消费者只是公众的一种。不同的公众,使用的公关手段也不一样。所以,要走出“公关活动就是促销”的误区,用公关手段解决公关问题。

  公关活动策划与实施需要经验的积累,公关活动要重策划,更要重实施。公关活动策划与实施,还有很多技巧可以利用,只要不断总结经验并应用于实践中去,一定能策划与实施出更多、更有影响力、更成功的公关活动。

Javascript常用函数及基本教材集合

星期日, 9月 10th, 2006

Javascript 基本函数和技巧 From:DOoRle's Blog 

每一项都是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<form.elements.length;i ){
if (form.elements.type == "text"){
form.elements.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(Math.random()*(n 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"></script>
50.指定在不支持脚本的浏览器显示的HTML:<noscript></noscript>
51.当超链和onCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.
例:<a href="a.html" onclick="location.href='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.dannyg.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.sina.com.cn";);
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.=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

 

教程:JavaScript就这么回事1-5 

有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript远比我想象的复杂和强大,我开始崇拜它,就像崇拜所有OOP语言一样~
趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明白,JavaScript就这么回事!并希望JavaScript还可以成为你的朋友,让你豁然开朗,在项目中更好的应用~

适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人
基础知识:HTML

JavaScript就这么回事1:基础知识

1 创建脚本块

1: <script language=”JavaScript”>
2: JavaScript code goes here
3: </script>

2 隐藏脚本代码

1: <script language=”JavaScript”>
2: <!–
3: document.write(“Hello”);
4: // –>
5: </script>

在不支持JavaScript的浏览器中将不执行相关代码

3 浏览器不支持的时候显示

1: <noscript>
2: Hello to the non-JavaScript browser.
3: </noscript>

4 链接外部脚本文件

1: <script language=”JavaScript” src="/”filename.js"”></script>

5 注释脚本

1: // This is a comment
2: document.write(“Hello”); // This is a comment
3: /*
4: All of this
5: is a comment
6: */

6 输出到浏览器

1: document.write(“<strong>Hello</strong>”);

7 定义变量

1: var myVariable = “some value”;

8 字符串相加

1: var myString = “String1” + “String2”;

9 字符串搜索

1: <script language=”JavaScript”>
2: <!–
3: var myVariable = “Hello there”;
4: var therePlace = myVariable.search(“there”);
5: document.write(therePlace);
6: // –>
7: </script>

10 字符串替换

1: thisVar.replace(“Monday”,”Friday”);

11 格式化字串

1: <script language=”JavaScript”>
2: <!–
3: var myVariable = “Hello there”;
4: document.write(myVariable.big() + “<br>”);
5: document.write(myVariable.blink() + “<br>”);
6: document.write(myVariable.bold() + “<br>”);
7: document.write(myVariable.fixed() + “<br>”);
8: document.write(myVariable.fontcolor(“red”) + “<br>”);
9: document.write(myVariable.fontsize(“18pt”) + “<br>”);
10: document.write(myVariable.italics() + “<br>”);
11: document.write(myVariable.small() + “<br>”);
12: document.write(myVariable.strike() + “<br>”);
13: document.write(myVariable.sub() + “<br>”);
14: document.write(myVariable.sup() + “<br>”);
15: document.write(myVariable.toLowerCase() + “<br>”);
16: document.write(myVariable.toUpperCase() + “<br>”);
17:
18: var firstString = “My String”;
19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”);
20: // –>
21: </script>

12 创建数组

1: <script language=”JavaScript”>
2: <!–
3: var myArray = new Array(5);
4: myArray[0] = “First Entry”;
5: myArray[1] = “Second Entry”;
6: myArray[2] = “Third Entry”;
7: myArray[3] = “Fourth Entry”;
8: myArray[4] = “Fifth Entry”;
9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”);
10: // –>
11: </script>

13 数组排序

1: <script language=”JavaScript”>
2: <!–
3: var myArray = new Array(5);
4: myArray[0] = “z”;
5: myArray[1] = “c”;
6: myArray[2] = “d”;
7: myArray[3] = “a”;
8: myArray[4] = “q”;
9: document.write(myArray.sort());
10: // –>
11: </script>

14 分割字符串

1: <script language=”JavaScript”>
2: <!–
3: var myVariable = “a,b,c,d”;
4: var stringArray = myVariable.split(“,”);
5: document.write(stringArray[0]);
6: document.write(stringArray[1]);
7: document.write(stringArray[2]);
8: document.write(stringArray[3]);
9: // –>
10: </script>

15 弹出警告信息

1: <script language=”JavaScript”>
2: <!–
3: window.alert(“Hello”);
4: // –>
5: </script>

16 弹出确认框

1: <script language=”JavaScript”>
2: <!–
3: var result = window.confirm(“Click OK to continue”);
4: // –>
5: </script>

17 定义函数

1: <script language=”JavaScript”>
2: <!–
3: function multiple(number1,number2) {
4: var result = number1 * number2;
5: return result;
6: }
7: // –>
8: </script>

18 调用JS函数

1: <a href=”#” onClick=”functionName()”>Link text</a>
2: <a href="/”javascript:functionName"()”>Link text</a>

19 在页面加载完成后执行函数

1: <body onLoad=”functionName();”>
2: Body of the page
3: </body>

20 条件判断

1: <script>
2: <!–
3: var userChoice = window.confirm(“Choose OK or Cancel”);
4: var result = (userChoice == true) ? “OK” : “Cancel”;
5: document.write(result);
6: // –>
7: </script>

21 指定次数循环

1: <script>
2: <!–
3: var myArray = new Array(3);
4: myArray[0] = “Item 0”;
5: myArray[1] = “Item 1”;
6: myArray[2] = “Item 2”;
7: for (i = 0; i < myArray.length; i++) {
8: document.write(myArray[i] + “<br>”);
9: }
10: // –>
11: </script>

22 设定将来执行

1: <script>
2: <!–
3: function hello() {
4: window.alert(“Hello”);
5: }
6: window.setTimeout(“hello()”,5000);
7: // –>
8: </script>

23 定时执行函数

1: <script>
2: <!–
3: function hello() {
4: window.alert(“Hello”);
5: window.setTimeout(“hello()”,5000);
6: }
7: window.setTimeout(“hello()”,5000);
8: // –>
9: </script>

24 取消定时执行

1: <script>
2: <!–
3: function hello() {
4: window.alert(“Hello”);
5: }
6: var myTimeout = window.setTimeout(“hello()”,5000);
7: window.clearTimeout(myTimeout);
8: // –>
9: </script>

25 在页面卸载时候执行函数

1: <body onUnload=”functionName();”>
2: Body of the page
3: </body>

JavaScript就这么回事2:浏览器输出

26 访问document对象

1: <script language=”JavaScript”>
2: var myURL = document.URL;
3: window.alert(myURL);
4: </script>

27 动态输出HTML

1: <script language=”JavaScript”>
2: document.write(“<p>Here’s some information about this document:</p>”);
3: document.write(“<ul>”);
4: document.write(“<li>Referring Document: “ + document.referrer + “</li>”);
5: document.write(“<li>Domain: “ + document.domain + “</li>”);
6: document.write(“<li>URL: “ + document.URL + “</li>”);
7: document.write(“</ul>”);
8: </script>

28 输出换行

1: document.writeln(“<strong>a</strong>”);
2: document.writeln(“b”);

29 输出日期

1: <script language=”JavaScript”>
2: var thisDate = new Date();
3: document.write(thisDate.toString());
4: </script>

30 指定日期的时区

1: <script language=”JavaScript”>
2: var myOffset = -2;
3: var currentDate = new Date();
4: var userOffset = currentDate.getTimezoneOffset()/60;
5: var timeZoneDifference = userOffset - myOffset;
6: currentDate.setHours(currentDate.getHours() + timeZoneDifference);
7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString());
8: </script>

31 设置日期输出格式

1: <script language=”JavaScript”>
2: var thisDate = new Date();
3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes();
4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate();
5: document.write(thisTimeString + “ on “ + thisDateString);
6: </script>

32 读取URL参数

1: <script language=”JavaScript”>
2: var urlParts = document.URL.split(“?”);
3: var parameterParts = urlParts[1].split(“&”);
4: for (i = 0; i < parameterParts.length; i++) {
5: var pairParts = parameterParts[i].split(“=”);
6: var pairName = pairParts[0];
7: var pairValue = pairParts[1];
8: document.write(pairName + “ :“ +pairValue );
9: }
10: </script>

你还以为HTML是无状态的么?

33 打开一个新的document对象

1: <script language=”JavaScript”>
2: function newDocument() {
3: document.open();
4: document.write(“<p>This is a New Document.</p>”);
5: document.close();
6: }
7: </script>

34 页面跳转

1: <script language=”JavaScript”>
2: window.location = “http://www.velee.cn”;
3: </script>

35 添加网页加载进度窗口

1: <html>
2: <head>
3: <script language='javaScript'>
4: var placeHolder = window.open('holder.html','placeholder','width=200,height=200');
5: </script>
6: <title>The Main Page</title>
7: </head>
8: <body onLoad='placeHolder.close()'>
9: <p>This is the main page</p>
10: </body>
11: </html>

JavaScript就这么回事3:图像

36 读取图像属性

1: <img src="/”image1.jpg"” name=”myImage”>
2: <a href=”# ” onClick=”window.alert(document.myImage.width)”>Width</a>
3:

37 动态加载图像

1: <script language=”JavaScript”>
2: myImage = new Image;
3: myImage.src = “Tellers1.jpg”;
4: </script>

38 简单的图像替换

1: <script language=”JavaScript”>
2: rollImage = new Image;
3: rollImage.src = “rollImage1.jpg”;
4: defaultImage = new Image;
5: defaultImage.src = “image1.jpg”;
6: </script>
7: <a href="/”myUrl"” onMouseOver=”document.myImage.src = rollImage.src;”
8: onMouseOut=”document.myImage.src = defaultImage.src;”>
9: <img src="/”image1.jpg"” name=”myImage” width=100 height=100 border=0>

39 随机显示图像

1: <script language=”JavaScript”>
2: var imageList = new Array;
3: imageList[0] = “image1.jpg”;
4: imageList[1] = “image2.jpg”;
5: imageList[2] = “image3.jpg”;
6: imageList[3] = “image4.jpg”;
7: var imageChoice = Math.floor(Math.random() * imageList.length);
8: document.write(‘<img src=”’ + imageList[imageChoice] + ‘“>’);
9: </script>

40 函数实现的图像替换

1: <script language=”JavaScript”>
2: var source = 0;
3: var replacement = 1;
4: function createRollOver(originalImage,replacementImage) {
5: var imageArray = new Array;
6: imageArray[source] = new Image;
7: imageArray[source].src = originalImage;
8: imageArray[replacement] = new Image;
9: imageArray[replacement].src = replacementImage;
10: return imageArray;
11: }
12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”);
13: </script>
14: <a href=”#” onMouseOver=”document.myImage1.src = rollImage1[replacement].src;”
15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”>
16: <img src="/”image1.jpg"” width=100 name=”myImage1” border=0>
17: </a>

41 创建幻灯片

1: <script language=”JavaScript”>
2: var imageList = new Array;
3: imageList[0] = new Image;
4: imageList[0].src = “image1.jpg”;
5: imageList[1] = new Image;
6: imageList[1].src = “image2.jpg”;
7: imageList[2] = new Image;
8: imageList[2].src = “image3.jpg”;
9: imageList[3] = new Image;
10: imageList[3].src = “image4.jpg”;
11: function slideShow(imageNumber) {
12: document.slideShow.src = imageList[imageNumber].src;
13: imageNumber += 1;
14: if (imageNumber < imageList.length) {
15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000);
16: }
17: }
18: </script>
19: </head>
20: <body onLoad=”slideShow(0)”>
21: <img src="/”image1.jpg"” width=100 name=”slideShow”>

42 随机广告图片

1: <script language=”JavaScript”>
2: var imageList = new Array;
3: imageList[0] = “image1.jpg”;
4: imageList[1] = “image2.jpg”;
5: imageList[2] = “image3.jpg”;
6: imageList[3] = “image4.jpg”;
7: var urlList = new Array;
8: urlList[0] = “http://some.host/”;
9: urlList[1] = “http://another.host/”;
10: urlList[2] = “http://somewhere.else/”;
11: urlList[3] = “http://right.here/”;
12: var imageChoice = Math.floor(Math.random() * imageList.length);
13: document.write(‘<a href=”’ + urlList[imageChoice] + ‘“><img src=”’ + imageList[imageChoice] + ‘“></a>’);
14: </script>

JavaScript就这么回事4:表单

还是先继续写完JS就这么回事系列吧~
43 表单构成

1: <form method=”post” action=”target.html” name=”thisForm”>
2: <input type=”text” name=”myText”>
3: <select name=”mySelect”>
4: <option value=”1”>First Choice</option>
5: <option value=”2”>Second Choice</option>
6: </select>
7: <br>
8: <input type=”submit” value=”Submit Me”>
9: </form>

44 访问表单中的文本框内容

1: <form name=”myForm”>
2: <input type=”text” name=”myText”>
3: </form>
4: <a href='#' onClick='window.alert(document.myForm.myText.value);'>Check Text Field</a>

45 动态复制文本框内容

1: <form name=”myForm”>
2: Enter some Text: <input type=”text” name=”myText”><br>
3: Copy Text: <input type=”text” name=”copyText”>
4: </form>
5: <a href=”#” onClick=”document.myForm.copyText.value =
6: document.myForm.myText.value;”>Copy Text Field</a>

46 侦测文本框的变化

1: <form name=”myForm”>
2: Enter some Text: <input type=”text” name=”myText” onChange=”alert(this.value);”>
3: </form>

47 访问选中的Select

1: <form name=”myForm”>
2: <select name=”mySelect”>
3: <option value=”First Choice”>1</option>
4: <option value=”Second Choice”>2</option>
5: <option value=”Third Choice”>3</option>
6: </select>
7: </form>
8: <a href='#' onClick='alert(document.myForm.mySelect.value);'>Check Selection List</a>

48 动态增加Select项

1: <form name=”myForm”>
2: <select name=”mySelect”>
3: <option value=”First Choice”>1</option>
4: <option value=”Second Choice”>2</option>
5: </select>
6: </form>
7: <script language=”JavaScript”>
8: document.myForm.mySelect.length++;
9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”;
10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”;
11: </script>

49 验证表单字段

1: <script language=”JavaScript”>
2: function checkField(field) {
3: if (field.value == “”) {
4: window.alert(“You must enter a value in the field”);
5: field.focus();
6: }
7: }
8: </script>
9: <form name=”myForm” action=”target.html”>
10: Text Field: <input type=”text” name=”myField”onBlur=”checkField(this)”>
11: <br><input type=”submit”>
12: </form>

50 验证Select项

1: function checkList(selection) {
2: if (selection.length == 0) {
3: window.alert(“You must make a selection from the list.”);
4: return false;
5: }
6: return true;
7: }

51 动态改变表单的action

1: <form name=”myForm” action=”login.html”>
2: Username: <input type=”text” name=”username”><br>
3: Password: <input type=”password” name=”password”><br>
4: <input type=”button” value=”Login” onClick=”this.form.submit();”>
5: <input type=”button” value=”Register” onClick=”this.form.action = ‘register.html’; this.form.submit();”>
6: <input type=”button” value=”Retrieve Password” onClick=”this.form.action = ‘password.html’; this.form.submit();”>
7: </form>

52 使用图像按钮

1: <form name=”myForm” action=”login.html”>
2: Username: <input type=”text” name=”username”><br>
3: Password: <input type=”password”name=”password”><br>
4: <input type=”image” src="/”login.gif"” value=”Login”>
5: </form>
6:

53 表单数据的加密

1: <SCRIPT LANGUAGE='JavaScript'>
2: <!–
3: function encrypt(item) {
4: var newItem = '';
5: for (i=0; i < item.length; i++) {
6: newItem += item.charCodeAt(i) + '.';
7: }
8: return newItem;
9: }
10: function encryptForm(myForm) {
11: for (i=0; i < myForm.elements.length; i++) {
12: myForm.elements[i].value = encrypt(myForm.elements[i].value);
13: }
14: }
15:
16: //–>
17: </SCRIPT>
18: <form name='myForm' onSubmit='encryptForm(this); window.alert(this.myField.value);'>
19: Enter Some Text: <input type=text name=myField><input type=submit>
20: </form>

JavaScript就这么回事5:窗口和框架

54 改变浏览器状态栏文字提示

1: <script language=”JavaScript”>
2: window.status = “A new status message”;
3: </script>

55 弹出确认提示框

1: <script language=”JavaScript”>
2: var userChoice = window.confirm(“Click OK or Cancel”);
3: if (userChoice) {
4: document.write(“You chose OK”);
5: } else {
6: document.write(“You chose Cancel”);
7: }
8: </script>

56 提示输入

1: <script language=”JavaScript”>
2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”);
3: document.write(“Your Name is “ + userName);
4: </script>

57 打开一个新窗口

1: //打开一个名称为myNewWindow的浏览器新窗口
2: <script language=”JavaScript”>
3: window.open(“http://www.velee.cn”,”myNewWindow”);
4: </script>

58 设置新窗口的大小

1: <script language=”JavaScript”>
2: window.open(“http://www.velee.cn”,”myNewWindow”,'height=300,width=300');
3: </script>

59 设置新窗口的位置

1: <script language=”JavaScript”>
2: window.open(“http://www.velee.cn”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100');
3: </script>

60 是否显示工具栏和滚动栏

1: <script language=”JavaScript”>
2: window.open(“http:

61 是否可以缩放新窗口的大小

1: <script language=”JavaScript”>
2: window.open('http://www.velee.cn' , 'myNewWindow', 'resizable=yes' );</script>

62 加载一个新的文档到当前窗口

1: <a href='#' onClick='document.location = '125a.html';' >Open New Document</a>

63 设置页面的滚动位置

1: <script language=”JavaScript”>
2: if (document.all) { //如果是IE浏览器则使用scrollTop属性
3: document.body.scrollTop = 200;
4: } else { //如果是NetScape浏览器则使用pageYOffset属性
5: window.pageYOffset = 200;
6: }</script>

64 在IE中打开全屏窗口

1: <a href='#' onClick=”window.open('http://www.juxta.com/','newWindow','fullScreen=yes');”>Open a full-screen window</a>

65 新窗口和父窗口的操作

1: <script language=”JavaScript”>
2: //定义新窗口
3: var newWindow = window.open(“128a.html”,”newWindow”);
4: newWindow.close(); //在父窗口中关闭打开的新窗口
5: </script>
6: 在新窗口中关闭父窗口
7: window.opener.close()

66 往新窗口中写内容

1: <script language=”JavaScript”>
2: var newWindow = window.open(“”,”newWindow”);
3: newWindow.document.open();
4: newWindow.document.write(“This is a new window”);
5: newWIndow.document.close();
6: </script>

67 加载页面到框架页面

1: <frameset cols=”50%,*”>
2: <frame name=”frame1” src="/”135a.html"”>
3: <frame name=”frame2” src="/”about:blank"”>
4: </frameset>
5: 在frame1中加载frame2中的页面
6: parent.frame2.document.location = “135b.html”;

68 在框架页面之间共享脚本
如果在frame1中html文件中有个脚本

1: function doAlert() {
2: window.alert(“Frame 1 is loaded”);
3: }

那么在frame2中可以如此调用该方法

1: <body onLoad=”parent.frame1.doAlert();”>
2: This is frame 2.
3: </body>

69 数据公用
可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用

1: <script language=”JavaScript”>
2: var persistentVariable = “This is a persistent value”;
3: </script>
4: <frameset cols=”50%,*”>
5: <frame name=”frame1” src="/”138a.html"”>
6: <frame name=”frame2” src="/”138b.html"”>
7: </frameset>

这样在frame1和frame2中都可以使用变量persistentVariable
70 框架代码库
根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库

1: <frameset cols=”0,50%,*”>
2: <frame name=”codeFrame” src="/”140code.html"”>
3: <frame name=”frame1” src="/”140a.html"”>
4: <frame name=”frame2” src="/”140b.html"”>
5: </frameset>

 

教程:事半功倍系列之javascript From:向东IT博客 
本文由经典论坛 邓永炎 整理

清华大学出版的《事半功倍系列 javascript》,本人照着书敲出来的,有些翻译了一下.前几年看了一下,最近无事,重新翻了翻,很有帮助.本书应该有光盘的,但学校的书,光盘不知在哪.希望对你学 javascript有帮助

第一章javascript简介

1.在地址栏输入javascript语句

Javascript:Document.write("显示文字")

2.将javascript嵌入 HTML文档

<script language=javascript>
document.bgColor="blue"
</script>

第二章 使用变量和数组

1.声明变量

<script language=javascripe>
Var answer1,answer2,answer3,answer4;
answer1=9;
answer2=2.5
answer3="Milkey May"
answer4=true
</script>

2.使用整数

<script language=javascript>
var decimalNum,hexadecimalNum,octalNum
decimalNum=24
hexadecimalNum=0×24
octalNum=024
document.write("显示十进制数:"+ decimalNum+"<br>")
document.write("显示十六进制数:"+ hexadecimalNum +"<br>")
document.write("显示八进制数:"+ octalNum +"<br>")
</script>

3.使用浮点数

<script language=javascript>
var num1,num2,num3,num4
num1=1234567890000.0
num2=5.14e23
num3=0.0000123456
num4=6.0254e3-4
document.write("浮点数1:"+num1+"<br>")
document.write("浮点数2:"+num2+"<br>")
document.write("浮点数3:"+num3+"<br>")
document.write("浮点数4:"+num4+"<br>")
</script>

4.使用布尔值

<script language=javascript>
var answer1,answer2
answer1=true
answer2=false
document.write("显示布尔1:"+answer1+"<br>")
document.write("显示布尔2:"+answer2+"<br>")
</script>

5.使用字符串

<script language=javascript>
var str1,str2
str1="fdsgdg dsfdsf china"
str2="武汉市广播电视大学"
document.write("显示字符串1:"+str1+"<br>")
document.write("显示字符串2:"+str2+"<br>")
</script>

6.确定变量类型

<script>
var answer1,answer2,answer3,answer4
answer1=9
answer2=2.5
answer3="milky may"
answer4=true
document.write("变量1的类型是:"+typeof answer1 +"<br>")
document.write("变量2的类型是:"+typeof answer2 +"<br>")
document.write("变量3的类型是:"+typeof answer3 +"<br>")
document.write("变量4的类型是:"+typeof answer4 +"<br>")
</script>

7.将字符串转换成数字

<script>
var str1="31 days in january"
var int1=parseInt(str1)
document.write("str1的数据类型是 :"+typeof str1+"<br>")
document.write("int1的数据类型是 :"+typeof int1+"<br>")
</script>

8.将数字转换成字符串

<script>
var int1=256
var str1=""+int1
document.write("str1的数据类型是 :"+typeof str1+"<br>")
document.write("int1的数据类型是 :"+typeof int1+"<br>")
</script>

9.声明数组

<script>
array=new Array(5)
array[0]=1
array[1]=3
array[2]=5
array[3]=7
array[4]=11
document.write("数组是:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4])
</script>

10.确定数组元素的个数

<script>
array=new Array(5)
array[0]=1
array[1]=3
array[2]=5
array[3]=7
array[4]=11
document.write("数组是:"+array[0]+" "+array[1]+" "+array[2]+" "+array[3]+" "+array[4]+"<br>")
document.write("数组的元素个数是"+array.length)
</script>

11.将数组转换为字符串

<script>
array=new Array()
array[0]="dark"
array[1]="apple"
array[2]="nebula"
array[3]="water"
str1=array.join()
str2=array.join(" ")
document.write(str1+"<br>")
document.write(str2)
</script>

12.对数组排序

<script>
array=new Array()
array[0]="dark"
array[1]="apple"
array[2]="nebula"
array[3]="water"
str1=array.sort()
document.write(str1+"<br>")
</script>

第三章 创建表达式

1.使用算术运算符

<script>
var1=12
var2=10
varadd=var1+var2
varsub=var1-var2
varmult=var1*var2
vardiv=var1/var2
varmod=var1%var2
document.write("数据1是:"+var1+"<br>")
document.write("数据2是:"+var2+"<br>")
document.write("数据相加是:"+varadd+"<br>")
document.write("数据相减是:"+varsub+"<br>")
document.write("数据相乘是:"+varmult+"<br>")
document.write("数据相除是:"+vardiv+"<br>")
document.write("数据相除取余数是:"+varmod+"<br>")
</script>

2.递增变量和递减变量

<script>
days=1
document.write("输出变量"+days+"<br>")
days++
document.write("递增后变量变为:"+days)
</script>

3.创建比较表达式

<script>
daysofmonth=28
if(daysofmonth==28)
month="february"
document.write("days of month:"+daysofmonth+"<br>")
document.write("month:"+month)
</script>

4.创建逻辑表达式

<script>
dayofmonth=28
if(dayofmonth==28 || dayofmonth==29)
month="february"
document.write("days of month:"+dayofmonth+"<br>")
document.write("month:"+month)
</script>

5.使用条件运算符

<script language="javascript">
stomach="hungry";
time="5:00";
(stomach=="hungry"&&time=="5:00") ? eat = "dinner":eat="a snack";
document.write("输出结果"+eat);
</script>

6.识别数字

<script>
var1=24;
(isNaN(var1))?document.write("变量var1"+var1+"不是数字"):Document.write("变量var1"+var1+"是数字")
</script>

第四章 控制程序流程

1.使用IF –Else语句

<script>
month="december"
date=25
if(month=="december" && date==25)
document.write("今天是圣诞节,商店关门")
else
document.write("欢迎,您来商店购物")
</script>

2.使用for 循环

<script>
for (count=1;count<=10;count++)
document.write("输出第"+count+"句"+"<br>")
</script>

3.使用while循环

<script>
count=1
while(count<=15){
document.write("输出第"+count+"句" +"<br>")
count++}
</script>

4.中断循环

<script>
count=1
while(count<=15){
count++
if(count==8)
break;
document.write("输出第"+count+"句"+"<br>")}
</script>

5.继续循环

<script>
count=1
while(count<=15){
count++
if(count==8)
continue;
document.write("输出第"+count+"句"+"<br>")}
</script>

6.使用javascript定时器

<script>
function rabbit()
{document.write("输出语句")
}
</script>
<body onload=window.setTimeout(rabbit(),5000)>

7.设置定期间隔

<script>
window.setInterval("document.form1.text2.value=document.form1.text1.value",3000)
</script>
<form name=form1>
<input type=text name=text1><br>
<input type=text name=text2><br>
</form>

8.清除超时和间隔

<script>
stop=window.setInterval("document.form1.text2.value=document.form1.text1.value",300)
</script>
<form name=form1>
<input type=text name=text1><br>
<input type=text name=text2><br>
<input type=button name=button1 value=" 清除超时和间隔" onclick=clearInterval(stop)>
</form>

第五章 使用函数

1.声明函数

<script>
function quote()
{ document.write("输出语句")
}
</script>

2.调用函数

<script>
function quote()
{ document.write("输出语句")
}
quote()
</script>

3.了解全局变量和局部变量

任何不用 var关键字声明的变量都是全局变量,任何在函数外声明的变量都是全局变量

4.将参数传送给函数

<script>
function f(item)
{document.write("输出参数"+item+"<br>")
}
f("fgdfgd")
f("参数二")
</script>

5.从函数返回值

<script>
function average(var1,var2,var3)
{ave=(var1+var2+var3)/3;
document.write("输出结果");
return ave;
}
document.write(average(34,56,78))
</script>

6.通过HTML链接调用函数

<script>
function quote(){
document.write(" 输出字符串")
}
</script>
<a href=javascript:quote()>通过HTML链接调用函数</a>
<a href=javascript:Document.write("输出字符")> 通过HTML链接调用函数,直接写javascript语句</a>

第六章 处理事件

1.检查鼠标单击

<form name=form1>
<input type=button name=button1 value=hello onclick=document.form1.button1.value='there'>
</form>

2.检测双击

<form name=form1>
<input type=button name=button1 value=hello onclick=document.form1.button1.value='你单击了按钮' ondblclick=document.form1.button1.value='你双击了该按钮'>
</form>

3.创建悬停按钮

<img src=go.gif onmouseover=document.images[0].src='go2.gif' onmouseout= document.images[0].src='go.gif'>

4.检测按键

<form name=form1>
<input type=text name=text1 value=hello onkeypress="if(window.event.keyCode=='100') document.form1.text1.value='你按了d键'">
</form>

5.设置焦点

<form name=form1>
<input type=text name=text1 value=hello
onfous=document.form1.text1.value='该文本框获得焦点'
onblur=document.form1.text1.value='该文本框失去焦点'>
</form>

6.检测下拉菜单选择

<form name=form1>
<select name=select1 size=4
onChange=document.form1.text1.value=document.form1.select1.value>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="武汉">武汉</option>
<option value="天津">天津</option>
<option value="大连">大连</option>
</select>
<input tppe=text name=text1 value=hello>
</form>

7.创建网页加载和卸载信息

<body onload=document.form1.text1.value='页面加载完毕' onunload=alert('再见,欢迎再来')>
<form name=form1>
<input type=text name=text1 value="页面正在加载 ……">
</form>

第七章 使用对象

1.理解对象\属性和方法

<body bgcolor="green">
<script>
document.write("页面背景颜色是:"+document.bgColor)
document.write("页面前景颜色是:"+document.fgColor)
</script>

2.使用网页元素对象

<script>
</script>
<form name=form1>
<textarea name=ta1>dfgfdgfdhfdhdfdfgdf</textarea>
<input type=button value="选择文本" onclick=document.form1.ta1.select()>
<input type=button value="显示文本" onclick=document.write(document.form1.ta1.value)>
</form>

3.使用子对象

<form name=form1>
<input type=text name=text1 value=hello>
</form>
<script>
document.form1.text1.value="gdfgfd"
</script>

<form name=form1>
<input type=radio name=radio1>男
<input type=radio name=radio2>女
</script>
<script>
document.form1.radio1.checked=true
</script>

4.使用预定义对象

<script>
str1="dgdfgdfgdfhf固定法固定法功夫攻打法"
document.write(str1+"<br>")
str2=str1.substr(5)
document.write(str2+"<br>")
document.write("输出圆的面积:"+Math.PI*Math.pow(5.0,2))
</script>

5.创建新对象

<script>
today=new Date()
document.write("今天是"+(today.getMonth()+1)+"月"+today.getDate()+"日"+"<br>")
document.write("现在是:"+today.toLocaleString())
</script>

6.引用当前对象

<form name=form1>
<input type=text name=text1 value="dgdgdfgfd" onclick=this.select()>
</script>

7.查看对象属性

<script>
for(prop in window)
{document.write("window."+prop+"="+window[prop]+"<br>");}
for(prop2 in location)
{document.write("location."+prop2+"="+location[prop]+"<br>");}
</script>

8.使用Array对象

<script>
array=new Array(10)
array[0]="bark"
array[1]="apple"
array[2]="nebula"
array[3]="cookie"
array[4]="technology"
document.write("数组元素个数是"+array.Length+"<br>")
document.write("用 join将数组合并"+array.join(" ")+"<br>")
document.write(" 数组排序"+array.sort())
</script>

9.使用 image 对象

<img src=**.gif alt="图片提示…." border=10>
<script>
document.write("图片提示是:"+document.images[0].alt+"<br>")
document.write("图片边框大小是:"+document.images[0].broder)
</script>

10.预加载图像

<script>
freddy=new Image()
freddy.src=freddy.gif
</script>
<body onload=document.images[0].src=freddy.src>
,<img src="blank.gif">
</body>

11.改变图像

<img src=freddy.gif><br>
<form name=form1>
<input type=button name=button1 value="改变图像" onclickd=document.images[0].src=dudjp.gif>
</form>

12.使用link和anchor对象

<a name=anchor1>锚点1<br>
<a href=http://www.microsoft.com>Microsoft</a><br>
<a href=http://www.sohu.com>sohu</a><br>
<a href=http://www.sina.com.cn>sina</a><br>
<script>
document.write("本页面共有"+document.links.length+"链接"+"<br>")
document.write("本页面共有"+document.anchors.length+"锚点"+"<br>")
document.write("第一个链接协议是"+document.links[0].protocol+"<br>")
document.write("第一个链接路径是"+document.links[0].pathnamel+"<br>")
document.write("第一个链接href是"+document.links[0].hrefl+"<br>")
</script>

13.改变链接

<a href =http://www.microsoft.com>link</a>
<form name=form1>
<input type=button name=button1 value="改变链接" onclick=document.links[0].href='http://www.sohu.com'>
</form>

14.使用history对象

<form name=form1>
<input type=button name=button1 value="向后返回2页" onclick=window.history.go(-2)>
</form>

第八章 使用窗口

1.在浏览器的状态栏上显示文本

<body onload=window.status="欢迎光临我的站点">
<a href=http://www.sohu.com>sohu</a>
</body>

2.改变背景色

<script>
document.bgColor="orange"
</script>

3.列举背景颜色

<body bgColor =green>
<script>
document.write("当前背景色是:"+document.bgColor)
</script>
</body>

4.改变文本和链接颜色

<script>
document.bgColor="orange"
document.fgColor="blue"
document.linkColor="red"
</script>
<h2>看看这段文本颜色</h2>
<a href=http://www.sohu.com>sohu</a>
</body>

5.改变文档标题

<script>
name="Mouse"
document.title="welcome to "+name+"'s House"
document.write(document.title)
</script>

6.显示修改日期

<script>
document.write("本页面最后修改时间是"+document.lastModified)
</script>

7.查看当前文档的URL

<script>
document.write("本页面的URL:"+document.URL)
</script>

8.查看引用页

<script>
document.write("本页面的引用页是"+document.referrer)
</script>

9.打开新的浏览器窗口

<script>
window.open("*.htm","title","width=200,height=400,resizable=yes")
</script>

10.关闭远程窗口

close.html:
<script>
document.write("正文")
</script>
<form name=form1>
<input type=button name=button1value="关闭" onclick=window.close()>
</form>

open.html
<script>
window.open("close.html","romote","width=200,height=400,resizable=yes")
</script>

11.打印窗口

<script>
document.write("正文")
</script>
<form name=form1>
<input type=button value=打印 onclick=window.print()>
</form>

12.移动窗口

<form name=form1>
水平方向<input type=text name=x value=20>
垂直方向<input type=text name=y value=50>
<input type=button value="移动窗口到…"onclick=window.moveTo(document.form1.x.value,document.form1.y.value)>
</form>

<form name=form1>
水平方向<input type=text name=x value=20>
垂直方向<input type=text name=y value=50>
<input type=button value="移动窗口"onclick=window.moveBy(document.form1.x.value,document.form1.y.value)>
</form>

13.改变窗口大小

<form name=form1>
水平方向<input type=text name=x value=200>
垂直方向<input type=text name=y value=500>
<input type=button value="改变窗口大小到….."onclick=window.resizeTo(document.form1.x.value,document.form1.y.value)>
</form>

<form name=form1>
水平方向<input type=text name=x value=200>
垂直方向<input type=text name=y value=500>
<input type=button value="改变窗口大小"onclick=window.resizeBy(document.form1.x.value,document.form1.y.value)>
</form>

14.用警告对话框通知用户

<script>
window.alert("welcome")
</script>

15.用提示对话框接受输入

<script>
name=window.prompt("输入姓名","姓名")
document.write(" 欢迎您:"+name+"来到这里")
</script>

16.用确认对话框使用户做出决定

<script>
like=window.confirm("你觉得好吗?")
if(like==true)
document.write("谢谢你的夸奖")
else
document.write("希望得到你的夸奖")
</script>

第九章 使用字符串

1.使用字符串对象

<script>
mystring="gdgdfgfddddaaaaaaaaaaaabbbbbbbbbbbbbbbbbvbhg.<br>"
document.write(mystring)
document.write(mystring.bold())
document.write(mystring.toUpperCase())
</script>

2.使用子字符串

<script>
str1="fdsf 1111 gfdgfd dfdsf cccc dddd.<br>"
document.write(str1)
document.write(str1.substring(0,13)+"<br>")
document.write(str1.substr (20,11)+"<br>")
</script>

3.连接字符串

<script>
str1="may you find"
str2="peace,happiness and prosperity.<br>"
document.write(str1+"<br>")
document.write(str2)
document.write(str1.concat(str2))
document.write(str1+=str2)
</script>

4.格式化字符串变量

<script>
str1="peace,happiness and prosperity.<br>"
document.write(str1)
document.write(str1.big())
document.write(str1.small())
document.write(str1.bold())
document.write(str1.italics())
document.write(str1.strike())
document.write(str1.fontsize(6))
document.write(str1.fontcolor(green))
</script>

5.创建锚和链接

<script>
str1="this is the bigginning of the page.<br>"
str2="….<br>"
str3="this is the end of the page .<br>"
str4="link to the start<br>"
str5="link to the end<br>"
document.write(str1.anchor("start"))
for(i=0;i<10;i++)
document.write(str2);
document.write(str3.anchor("end"))
document.write(str4.link("#start"))
document.write(str5.link("#end"))
</script>

6.确定字符串长度

<script>
str1="this is the bigginning of the page."
document.write(str1+"<br>")
document.write( "字符串的长度是:"+str1.length)
document.write("字符串全部大写是;"+str1.toUpperCase())
document.write("字符串全部小写是;"+str1.toLowerCase())
</script>

7.在字符串内搜索

<script>
str1="this is the end of the line.<br>"
document.write(str1)
document.write("字符end在字符串的位置是"+str1.search("end"))
document.write("字符dog在字符串的位置是"+str1.search("dog"))
</script>

8.定位字符串中的字符

<script>
str1="spring is a time for flowers and trees and baby bunnles<br>"
document.write(str1)
document.write("the index for the second word ‘and' is"+str1.indexOf("and",30))
documednt.write("the last index of the word ‘and' is "+str1.lastIndexOf("and"))
</script>

9.替换字符串中的文本

<script>
str1="spring is a time for flowers and trees and baby bunnles<br>"
document.write(str1)
document .write(str1.replace("and",","))
</script>

10.字符串分离

<script>
str1="spring is a time for flowers and trees and baby bunnles<br>"
document.write(str1)
str1array=str1.split(" ")
document.write(str1array[0]+"<br>")
document.write(str1array[1]+"<br>")
document.write(str1array[2]+"<br>")
document.write(str1array[3]+"<br>")
</script>

第十章 使用日期和时间

1.使用Date对象

<script>
cdate=new Date("august 2,1989 12:30:00")
document.write(cdate)
</script>

2.显示当地时间和日期

<script>
cdate=new Date()
document.write("当前时间是:"+cdate.toGMTString()+"<br>")
document.write("日期和时间是:"+cdate.toLocaleString())
</script>

3.获得时间和日期值

<script>
cdate=new Date()
document.write("显示当前的星期"+cdate.getDay()+"<br>")
document.write("显示当前的月份"+cdate.getMonth()+"<br>")
document.write("显示当前的日期"+cdate.getDay()+"<br>")
document.write("显示当前的年份"+cdate.getYear()+"<br>")
document.write("显示当前的小时"+cdate.getHours()+"<br>")
document.write("显示当前的分钟"+cdate.getMinutes()+"<br>")
document.write("显示当前的秒"+cdate.getSeconds()+"<br>")
</script>

4.设置时间和日期值

<script language=javascript>
cdate=new Date("December 25,1984")
document.write("显示日期"+cdate+"<br>")
document.write("设置月份"+cdate.setMonth(10)+"<br>")
document.write("设置日期"+cdate.setDate(23)+"<br>")
document.write("设置年份"+cdate.setYear(2000)+"<br>")
document.write("设置小时"+cdate.setHours(13)+"<br>");
document.write("设置分钟"+cdate.setMinutes(47)+"<br>");
document.write("设置秒"+cdate.setSeconds(23)+"<br>");
document.write("显示设置后的日期和时间"+cdate);
</script>

第十一章 使用Math对象

1. 使用Math对象

<script language=javascript>
</script>
<form name=form1>
圆的半径:<input type=text name=rad><br>
圆的面积:<input type=text name=area><br>
<input type=button name=button1 value=计算圆的面积 onclick=document.form1.area.value=document.form1.rad.value*document.
form1.rad.value*Math.PI>
</form>

2.生成随机数

<script>
array1=new Array(
"这是第1句",
"这