java html标枪正则,javascript语言速成

因为是个弱类语言.把他所有要点整理成一篇文章也应该没问题吧?

有一定C语言基础就够了

第一章:HTML和script

HTML是超文本语,它以标枪  对应开始和结束.

超文本文件中,JavaScript程序代码位于之间.

script 的type 属性值一定是 javascript/text.

如果script属性引入了Js文件,那么起始标签与结束标签之间的内容将被忽略.

例子:

alert("abc");

其中tom.js:

alert("tom file");于是对话框中,只显示的是tom file

第二章.数据类型

javascript里面不分定义类型的,只要用了var 都是定义了一个变,没有赋值时是一个Undefined类型

并且var a=20;这时是数字类型, a=true;这时又为了逻辑类型

可以使用typeof 获取类型

标识符:只能有字母,数字   _  和 $ 这四种组成,同时开头不能是数字.

数字类型:占8字节(64位),保留16位有效数字

250(十进制) ,0250(八进制),0x250(十六进制).2.5E3(E3表示10的三次方)

NaN(无意义数字), Infinity(无穷大)

字符串类型:用一对(')或者(")的就是

注意换行符(

),制表符(),回车符().,反斜杠(),单引号('),双引号(").

可以使用+进行连接.

逻辑类型:true,false

函数:function ( ...)  { .....   }

可当成变量看: 假如有function add() ... 然后var tom=add;  那么tom也是一个和add一样功能的函数

使用arguments重构:

function average()

{ if(arguments.length==1) return arguments[0];   //一个参数

if(arguments.length==2)return (arguments[0]+arguments[1])/2 ;  //两个参数

....

}

对象:

首先是构造函数:比如

function Persom(xm,sf){

this.name=xm;

this.id=sf;

this.speak=function(){

docunment.writenln("我的名字是:"+this.name+"
");

}

}然后是实例化对象:var tom=new Person("汤姆猫","13254");

使用对象: tom.speak();

顺便一说object()是js里面预定义的一个对象,可以直接拿来用

第三章.运算表达式

运算符:+-×÷,没啥好说.特别注意的是 a++和++a的运算级优先级别比×÷高

关系表达式: > < =也没啥好说.特别注意的是

如果两个字符串比较,那么比的就是每个字母大小("d">"a"),如果相等,比较下一个字母

如果不同类型比较.转化为数字类型比较.其中"52"可以转化为52,但是"52a"转为为NaN,true转化为1

这里多了个严格相等(===)和不严格相等(!==),指的是不自动转化下的比较.

逻辑表达: &&与  ||或  !非    没啥好说/

位运算:

二元运算符: &按位与 . |按位或 . ^ 按位异或 .

一元运算符: ~按位取反.

移位运算符: << ,>> , >>>(只补0)

条件运算:  a:b?c.

if/else  , switch.

循环:for, while, do while.  -------break,continue,return

其他运算:new,typeof, instanceof(判断某对象是否某类型)

第四章.字符串对象

创建

var str=new String("とある字符串");

比较

使用 == 逻辑比较字符串对象的话,比较的是引用值而不是内容本身

var str1=new String("哈哈哈!"); //建立了一个哈哈哈的对象

var str2=new String("哈哈哈!"); //再次建立了一个哈哈哈的对象,与前一个对象不同的

var boo1=(str1== str2); //boo1=false~因为两个对象不是指向同一个的比较内容本身应该使用localeCompare();

var boo2=str1.locateCompare(str2; //大于返回1,等于返回0,小于返回-1;

连接

concat() ,或者直接用  +

检索

使用charAt();   //charCodeAt();则是把检索结果转化为编码

var string =new String("SD卡路公交受得了柑橘味儿");

var ch=string.charAt(5); //ch结果是"公"

查找

使用indexOf();  返回的是第一次找到字符串的位置,找不到返回-1

indexOf("bcd");  //表示从头开始查找

indexOf("bcd",5);  //表示从第六个字母开始找

lastIndexOf(  ) ;    //向前查找.

获取子串

使用substring();  //小的数字为起始位置,大的数字为末位.首字下标是0.结尾不算入其中

var s=new String("123456789");

var sub=s.sub(3,6);    //sub=456  , 7的下标虽然是6,但结尾不算进去

使用slice(a,b);   //左边的数是起始位置右边是末位.同时负数表示从尾倒数过来.-1表示最后一个

替换

replace(); 把第一个找到的,替换成新的

var s=new String("tom@sohu.com");

var ss=s.replace("om","eacher"); //替换后s并没有改变

大小写切换:

toLowerCase(); 全部变成小写

toUpperCase();全部变成大写

与数字转换:

toString();  数字变成字符串,默认变为10进制的.

toString(2);  //变成2进制的,如  5 变成  101

toString(16); //变成16进制

parseInt();  //字符串转换为整型,可识别10,8,16进制

parseFloat();  //转化为浮点型

Number();  //转化为数字类型

以上如果转化失败都是返回NaN;

正则表达式

理解为一种自定义格式就可以~

它封装的对象是RegExp~~

元字符

.            任何字符

d       0~9任一个数字                           D    非数字 s       空格类符(

,,f,)                       S     非空格类

w      标识符的字符                               W     非标识符的字符

[  ]      表示括号内任一个                       [^  ]     非括号内以外的字符

[a-e]    a到e任一个                                [a-zA-Z]     字母任一个

限定词:加在后面的,用来形容出现次数

?     出现0或者1

+     至少出现一次

{n}    出现n次

{n, }    至少出现n次

{n,m}       n≤出现次数≤m

*     出现任意次

例子:日期格式只能是2010-02-04或者2010/02/04

var reg =/d{4}[-*][01]d[-/][0-3]d/;

指令  g  全局匹配,不只匹配一个.    i忽略大小写.

该对象有两个方法:

test()      //返回bool值,看是否和格式一致,一致后并保存lastIndex值为下一个字符

exec()     //返回一个字符串数组,用来查找格式一致的,查找失败后lastIndex归零.

字符串与正则的匹配:

match();  //功能和exec()一样,不同的是exec是RegExp的方法,match是字符串的方法.

search();  //返回第一个匹配的位置

replace();   //替换,如果RegExp不是全局的,就是指令没有g,那么只替换第一个.

第五章.数组对象

创建

var a=new Array(3);  //一个3元素数组,如果是Array()表示0元素

var a=new Array(3,4,5)  //当大于一个数时,像这个,表示创建一个3元素数组,对应3个值

var a=[5,6,2,4];               //用常量创建4元素数组

没有二维数组.不过可以通过数组的数组构造,如: a=[[1,2],[5,6,7],5,[2,5]];

赋值.

数组长度一开始只是初始定义,其长度可以随便变化.

例如a是一个2元素数组.

此时:a[2]=5;    那么他的长度自动增长.变为3了

转化

toString();  //返回字符串,将数组变成字符串,元素之间有逗号隔开

join();     //返回字符串,连接并变成字符串.例如 a.join("--");      //变成5--6--2--4

split();   //返回数组,将字符串变数组.跟上面想法.split("--")则可以将上面变为5,6,2,4

//var str="abcdefbcdabceef";   var arr=str.split("bc");   那么arr=["a","adef","da","eef"];

添加删除

push(   );  //返回数组长度,并在队尾加入新元素.  push(57,69,84); 长度+3,加了三个新元素

pop();      //删除并返回队尾元素, 数组长度-1;

unshift(   );  //对应跟push相似,不过是从头部一次性加入

shift();        //对应跟pop()相似, 不过是从头部删除

排序

sort();   //按照每个元素的首字符排序

sort(....);   //如果里面填入函数的话按照函数的方式排序,函数是两个数比较,在后面的返回1,相等返回0,在前面的返回-1

连接

concat( [4,5,6],b   );   //连起来

获取子数组

slice(2)  //第三个元素直到结尾

slicee(2,5);   //第3个元素到第5个元素

替换数组

splice(2,1,'a','b');  //第三个元素开始的一个元素变为'a','b',长度+1了

splice(2,0,11,12,13,14);   //第三个元素开始,插入11,12,13,14

splice(2);              //删除第三个元素开始到结尾的元素

splice(2,3);            //删除第3个元素开始的3个元素.(可以理解为替换成空)

逆置  :reverse();

第六章.

Data

创建

new Date();     //当前系统时间

new Date(2014,8,19,12,11,11);   //指定时间2014年8月19日12时11分11秒

new Date(2014,8,19);               //指定时间2014年8月19日

转换

toString() ;                 //获得的是字符串"Tue Aug 19  12:11:11  UTC+0800 2014"

toDateString();         //Tue Aug  19  2014

toTimeString          //12:11:11  UTC+0800 2014

获取和设置

getFullYear();      //setFullYear(year)

getMonth();         //setMonth(month);   其中这个0表示1月,所以月份要加1

getHours();        //setHours(hours);

getDays();       //setDays(days);           0表示星期日,1~6 星期一至6

等等

Math

取整

ceil();   //向上取整

floor();   //向下取整

round();   //四舍五入

随机

random();   //取0~1的随机小数,不包括0和1

三角函数

cos( ) ,   sin( ),   tan( )

acos( ); asin( );atan( );

其他

max(); min();

pow(x,y); //x的y次方

exp(x);    //自然常数e的x次方

sqrt (x);   //x的平方

第七章.浏览器对象

window

newWindow =window.open("www.baiduc.om","windowName","top=400,lefy=200");

//第一个参数是网址,第二个参数是窗口名称,第三个参数包括位置,窗口大小,是否有工具栏,地址栏等等

//第三个参数:top,left,height,width这些填入数值.

//resizable(能否调整窗口大小),scrollbars(滚动条),toolbar(工具栏),menubar(菜单栏),status(状态栏),//location(地址栏)

//上面这些填入yes/no

newWidow.close(); //关闭窗口

moveTo(100,100); //当前窗口移动到坐标100,100

moveBy(-100,200); //平移

resizeTo(200,200); //设置大小为200,200

resizeBy(-50,200); //宽-50,高加200

对话框

window.alert(" ٩(ˊᗜˋ*)و "); //弹出消息对话框并显示内容,只有一个确定的按键

var boo1=window.confirm(" 确定要出发吗?ᕕ( ᐛ )ᕗ "); //弹出确认对话框,有确定和取消两个按键,返回TRUE和flase

var inStr=window.prompt("请输入角色名", " "); //返回字符串,第一个参数是提示文字,第二个参数是输入的地方

定时器

var aa=setTimeout("alert('sdfkafs')" , 2000); //2秒后弹出sdfkafs

clearTimeout(aa); //取消aa的对象,2秒后不弹出了

var ra=setInterval("alert('sdfkafs')" , 2000); //每2秒循环弹出sdfkafs

clearInterval(ra); //取消ra的循环计时器

检查浏览器信息

class  navigator{

appName;     //浏览器名称

appVersion;     //浏览器版本号

userAgent;     //浏览器信息,通常用这个就够了

platform;       //运行平台

}    其余不详细说了.

窗口与框架

创建了三层的框架,rows水平高度...表示第一个框架高150,第二个高250,剩余的是第三个的

cols表示垂直高度,如cols="20%,80%";  左边20%宽,右边80%宽

页面导航

location{

hostname;     //URL服务器名字href;               //URL信息,最常用,基本就是表示一个连接host;           //服务请名字和端口hash;        //URL中#后面的内容port;       //端口号pathname;     //路径信息search;           //查询字符串,一般为?开头protocol;        //协议assign();replace();}

history{

back();            //后退一页forward();     //前进一页go( ..);   //go(4)表示前进4页,跳转到某一页}

sceen{

height;width;availHeight;availWidth;colorDepth;}

第八章.HTML对象

1.获取对象

getElementById();

id是唯一标识的,所以只能获得一个对象.例如:

var str=document.getElementById("asdasd");

getElementsByName();

这个只有名字相同,都获取.

var arr=document.getElementsByName("number");    //arr=[对象1,对象2,对象3]

getElemntsByTagName();

这个范围更大.

var arr=document.getElementsByName("input");    //arr=[对象1,对象2,对象3]

2.获取对象的某个值

getAttribute(...);

var a=getAttribute("name");   //a=number

var b=getAttribute("value");   //b=30

setAttribute(......);

arr.setAttribute("value","40");   //这是arr的value值是40

3.写成HTML文档格式

创建标记

var ulObj= document.createElement(" ul ");  //创建了一个

添加内容

var obj1= document.createElement(" li ");  //创建了一个

obj1.innerText("火龙果");                               //现在是

火龙果

ulObj.appendChild(obj1);                   //把上面的li放进上面的ul里面了

删除标记

ulObj.removeChild(obj1);               //删除

表格

hey,heystart
var rowObj =tableObj

.rows[1]

;   //获取了第一行

var  cellObj=rowObj.cells[3];     //获取了第一行的第三格

使用cellObj.innerHTML;      表示单元格的数据

var rowObj=tableObj,insertRow(3); //在第三行位置插入新一行

var cellObj1=rowObj.insertCell(0);    //在前面插入单元格

第九章.表单元素

表单就是用来提交的,和服务器系统进行交互的信息

之间

用户ID:

上面是一个表单,名字是login,里面写着"用户ID:",接着的是一个输入文本.然后后面是一个写着提交的提交按钮

如果有onsubmit的话,在点了提交按钮时,他会将执行onsubmit的函数进行验证.

获取form对象有几种方法

var formObj=document.forms["login"];    //通过表单的名字获取

var formObj=document.login;    //通过名字获取

var formObj=document.forms[0];    //因为他是第一个表单

同样,获取数据对象有几种方法

var textObj=formObj.elements["user-id"];    //通过名字获取

var textObj=formObj.elements[0];             //因为他是第一个表单

按钮

添加处理点击事件的方法有几种:

②btObj.οnclick=compute;

③btObj.οnclick=function(){

//....

}

文本

文本区啦啦啦啦啦      4行10列

文本框   最大显示10,最大输入20个

密码框        将显示是******

他们的属性有

value        :文本内容

disabled      是否被禁用

readonly       是否只读

方法:select();  选中所有文本,比如说获取焦点时使用

focus();     设置获取焦点

focus="compute";     获取焦点时执行compute();

onblur =function();     失去焦点时执行function();通常注册时经常用来检查是否正确输入

复选框

单选按钮(名字相同为同一组)

他们也可以设置onclick;

下拉列表

苹果

香蕉

optionObj.value="orange";

optionObj.text="橙";

listObj.add(optionObj) ;remove(index);    //删除位置为index的项目

onchange              //选择发生变化时

属性

value;

text;

index;                 //列表中的位置

selected;             //是否被选中返回true ,flase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值