javascript笔记

  • 格式:doc
  • 大小:2.48 MB
  • 文档页数:52

Javascript是区分大小写的。

Javascript中undefined是值未定义。

弱类型的时候并不会报错误,而是输出NaN。

Alert(true&&b);返回的是b,要是true改成了false后返回的是false,所以应该是返回的是最后一个判断的值,当是false的时候后面的就不用判断了。

第一个输出的是空,什么也没有,第二个是输出的是Hello,这说明当Alert(!!””)的时候,此时输出的是false。

字符串装换成数字此时是空字符串转换成数字,是0。

乘号就是转换成数字。

这样输出的是number。

如果2改成了字符串就输出的是String。

此时输出的是number。

把字符串转换成了数值型了。

两个!!是可以把一种类型是转换成了布尔型。

此函数弹出一个对话框,然后让用户输入一个值。

并且输入的内容会作为字符串放。

此时要转换成一个数字的话就是用刚才的方法。

此时输出a的时候就是数字了,弹出的是number了。

NaN和自身不相等,此时输出的是false。

因为NaN并不是一个值,不能这样判断和自身相不相等。

也可以设置日期判断一个人输入的年份是不是对的Var b=new Array(0,2,3);直接开始就初始化数组.Var b=new Array();定义数组。

此中定义数组的方法也可以这样写var b=[]; 更简单push也可以添加多个值计算开始时间和结束时间的相差的时间上面有两种方法,第一种使用的时间相对长一些,第二种方法好一些。

Join方法是用空字符串连接ABC。

输出的结果都是一样的。

当遇到大量的字符串的时候最好使用join方法来连接。

定义一个对象Var obj=new Object();=”CJ”; obj.age=16; 声明对象的属性Alert(); alert(obj.age);name也可以加上引号。

一般都使用图片这样的方式来声明一个对象。

加了引号后,引号里面的可以是对象变量不允许的字符串等。

这里对象也是可以像数组那样访问的,如下面的那张图片。

也可以直接点name访问,相当于有两种方式访问。

Object比Array少一些功能,少length属性和push方法和join方法。

for…in循环,此时输出i时时一次输出name,age,weight的名称,要想输出值此时输出了值。

在ie下面获取字符串的最后一个字符应该这样写而在火狐下面直接写上s.[s.length-1]。

String类的方法此时是把,W改成了#w号,但是如果直接输出s的话还是没有变化,因为replace是不会动原来的字符串的对象的,只是返回一个新的字符串。

Join和split方法的使用此时输出的还是A。

此时是每隔1000毫秒弹出一个对话框。

第一个引号也可以写成函数名。

此函数不用写上括号。

直接写函数的名字就行了。

要把一个字符串变成数组也可以用split方法。

如var s=”电风扇”.split(“”);此时输出的s是以逗号分隔的。

其实也可以使用charAt的方法提取字符。

标题的滚动的实例<script type="text/javascript">var s="滚动的字符串".split("");function func(){s.push(s[0]);s.shift();document.title=s.join("");}setInterval(func,1000);</script>此时鼠标移到图片上的时候可以变成另外一张图片。

此时btn的value值变成了按钮,javascript代码要写在定义按钮的后面,要不然不能获取id的值。

对于onmouseover和onclick这些要是不写在html中的话就要绑定一个函数,具体是这样做的。

等号后面的a是不要加括号的,但是要是在html中onclick=”函数名()”,也是调用函数,这里的函数名是要加括号的。

鼠标的事件属性:使用onload方法可以一开始就看到body体里面的代码。

此时onload方法还是放在head 体里面的,但是要是在得到一个body体里面的id号的话此时得到的就是null值。

所以用onload方法此时在声明方法的时候来获取id。

如利用onload的方法来得到id后再来处理html的标签,可以看到上面的代码知道函数里面是可以嵌套函数的。

当然此时over和out函数都可以放在外面,此时运行也是对的,innerHTML这个属性可以做很多事情,现在在body体中有这样一个代码<h1 id=”header”>html的练习</h1>此时运行后<h1>就变成了script,也设置了颜色。

在body体里面写上<img src=”a.jpg” id=”img1” class=”hide1” title=”翻转图像”/>在head体里面写上var obj=document.getElementById(“header”);此时写上alert(obj.className);此时输出的是hide1。

输出了class的名字。

Obj.onmouseover=over;Obj.onmouseout=out;Function over(){This.className=”hide2”; //注意这里要打引号}Function out{This.className=”hide3”;\}然后再定义一个css样式<style type=”text/css”>.hide1{ Color:red; } .hide2{color:blue;} .hide3{color:green;}</style>这种方式可以变换class,然后再设置颜色。

这样可以设置很多效果出来。

此方法返回的是一个数组,返回所有的p标签的数组,此时第一个p标签的值变成了“第一个p标签“。

这样写一个链接也可以弹出对话框。

这中方法称为javascript的伪协议。

不过这种写法完全抛弃了。

现在举一个实际的例子<script type="text/javascript">window.onload=init;function init(){var bb=document.getElementById("header");bb.innerHTML="aa";bb.onmouseover=over;bb.onmouseout=out;function over(){this.className="mm";}function out(){this.className="cc";}}</script><style type="text/css">.aa{color:#FF0000;}.mm{color:#00FF00;}.cc{color:#CCFF00}</style></head><body><h1 id="header" class="hh">图书馆</h1></body>此时s和undefined是不同的,s的类型此时也是undefined,但是当s==undefined时时false此时输出的是true,三个等号是严格的相等。

如果b=””;此时要是用三个等号是不能输出结果的。

用两个等号可以输出结果来。

此时用了转义字符\。

此时才把s的字符串连接上了。

此时输出的是adfsf。

转移字符此时是把16进制的FF转换成8进制的数。

要是用s*1的强行方法把s转成数值型的话输出的就是NAN类型,但是上面的图片输出的是234。

如果此时s是23 4A,此时输出的是23,碰到空格后就不会转成数值型了。

但是如果s是A234,此时就输出的是NAN。

此时把AB转换成16进制的数。

删除后再输出a.age的话就变成了undefine类型Outermost是标签,当i=2和j=2的时候跳到标签了。

要是只写break的话就是只挑出了内层循环,而没有跳出外层循环,此时加了一个标签就跳出了外层循环。

此时用了with后就不用这么麻烦每个属性前面都要写Person,此时输出的时候就不用每个属性前面写对象了。

此时是针对对象的字符很长的时候用的。

正则表达式:<script type="text/javascript">var re=new RegExp("abc");//创建正则表达式与var re=/abc/相同的效果//re=new RegExp("模式字符串","标志"); //第二种创建正则表达式的方法。

re=new RegExp("abc","i");//i表示不区分大小写,i的英文是ignoreCasealert(re.test("abcafdjsjfd"));</script>此时输出的abc不管是大写还是小写,返回的都是true,只要有abc就行了。

但是第一种创建的正则表达式只能是小写的abc才返回的是true。

还有一种创建正则表示的方法var re=/abc/i;此中方法与上面的re=new RegExp("abc","i")一样效果。

var re=/^he/I; 脱字符(^)代表字符开始位置.alert(re.test(“he id fdjjf”));//这样才返回true,要不然不在开始位置返回的是false看看某个字符是不是在开始位置也可以这样写Var s=”he id dsfkj”;Alert(s.indexOf(“he”)===0);此时输出的是true,注意三个等号是代表严格相等。

只要测试包含空格的字符就会返回true,此时就体现的了正则表达式的强大之处,用其它的方法来判断就很麻烦了。

这里必须写斜杠s,要是少了斜杠,此时就是匹配s了。

表示范围的,此时判断是不是包含a到z的字母,后面加一个i的话就表示不区分大小写了。

或者直接在后面写A到Z的条件,re=/[a-zA-Z]/就这样写也可以匹配数字,只能写0到9,这样写又看是不是包含字母也看是不是包含数字。

先英文后数字(不确定)。

这样写也可以,下面的\w表示匹配字母,\d表示匹配数字。

说明可以包含字母也可以不包含字母也可以包含多个字母,后面要是是加号的话表示出现多次或一次。