JavaScript笔记之进阶篇

JS区分大小写。

1.变量

变量名:

必须以 英文字母,下划线_ 或者 美元符号$ 开头,不能使用JS保留字或关键字,区分大小写。

变量声明并赋值:

var 变量名1 = 变量1的值  //可同时声明多个变量,变量值的类型任意(可以是数值型,字符串,布尔型等)

自加和自减运算符:

mynum = 10;

mynum++; //mynum的值变为11

mynum--; //mynum的值又变回10

2.数组

创建数组:

var myarray = new Array(数组长度)

注释:1.创建的新数组是空数组,没有值,如输出,则显示undefined。
2.虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为8,仍然可以将元素存储在规定长度以外。

给数组元素赋值:

var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

或者var myarray = [66,80,90,77,59];//直接输入一个数组

注释:数组存储的数据可以是任何类型(数字、字符、布尔值等)

数组长度可变:

通过arr.length可以获取数组长度,但是由于数组长度可变,当重新定义数组长度或者给比原数组长度大的元素赋值时,数组随之变化。

var arr=[98,76,54,56,76]; // 包含5个数值的数组

document.write(arr.length); //显示数组的长度5

arr[15]=34; //增加元素,使用索引为15,赋值为34

alert(arr.length); //显示数组的长度16

二维数组:

定义方式一:

var myarr=new Array(); //先声明一维

for(var i=0;i<2;i++){ //一维长度为2

myarr[i]=new Array(); //再声明二维

for(var j=0;j<3;j++){ //二维长度为3

myarr[i][j]=i+j; // 赋值,每个数组元素的值为i+j } }

定义方式二:

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]];

myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。

数组连接concat:

concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。

用法:arrayObject.concat(array1,array2,...,arrayN)

将array1,array2。。。连接到arrayObject后



//运行结果是
//1,2,3,4,5
//1,2,3

 join()

把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

用法:arrayObject.join(分隔符) //如果省略分隔符,默认按照" , " 隔开。



//运行结果是:I.love.JavaScript

 reverse()

 将数组中元素倒序

用法:arrayObject.reverse()

slice()

从已有的数组中返回选定的元素。

用法:arrayObject.slice(start,end)

注释:

1.返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

2. 该方法并不会修改数组,而是返回一个子数组。

3. 可使用负值从数组的尾部选取元素。

4.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

 

3.函数

函数调用:

函数调用方式1:

函数调用方式2:

在中调用

//按钮,onclick点击事件,直接写函数名

 

函数有返回值:

当定义的函数有返回值return时,使用document.write(返回值)可实现输出。

4.事件响应

鼠标点击事件onclick

 

value中是按钮中要显示的文字,onclick中是点击按钮跳转的链接(函数)

鼠标经过事件onmouseover

鼠标滑过(按钮)时,触发onmouseover事件,并执行对应的程序




密码:

鼠标移开事件onmouseout

鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。




点击我

当鼠标滑过“点击我”后离开时,进入message()模块。

聚焦onfocus和失焦onblur

当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。


请选择您的职业:

当点击选择框中的文字时,会触发onfocus函数,执行message()函数中的语句。

onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

如下代码, 网页中有用户和密码两个文本框。当前光标在用户文本框内时(即焦点在文本框),在光标离开该文本框后(即失焦时),触发onblur事件,并调用函数message()。

    


  
用户: 密码:

内容选中事件onselect

 
个人简介:

当鼠标选中“请 写入个人简介,不少于200字!”时,会触发onselect,并执行message()函数。

加载事件onload

事件会在页面加载完成后,立即发生,同时执行被调用的程序。
注意:1. 加载页面时,触发onload事件,事件写在标签内。

2. 此节的加载页面,可理解为打开一个新页面时。
如下代码,当加载一个新页面时,弹出对话框“加载中,请稍等…”。

    


  欢迎学习JavaScript。

5.String字符串

charAt(index) 

返回index位置的字符串

indexOf()

返回某个指定的字符串值在字符串中首次出现的位置。

用法:stringObject.indexOf(substring, startpos)

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。

从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。

如果找到一个 substring,则返回 substring 的第一次出现的位置。

如果要检索的字符串值没有出现,则该方法返回 -1。

split()

将字符串分割为字符串数组,并返回此数组。

用法:stringObject.split(separator,limit)

从separator开始分割stringObject,limit是分割次数(可选,默认分割无数次)。

substring()

用于提取字符串中介于两个指定下标之间的字符。

用法:stringObject.substring(startPos,stopPos) 

返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

运行结果是:

JavaScript

love

substr()

用法:stringObject.substr(startPos,length)

从字符串中提取从 startPos位置开始的指定数目的字符串。

如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

如果startPos为负数且绝对值大于字符串长度,startPos为0。

运行结果是:

JavaScript!

love

6.Math函数

Math中的函数都是静态的,不需要new,可直接调用。

ceil()

对一个数进行向上取整。(比原数大1)

document.write(Math.ceil(0.8) + "
")  //结果是1

document.write(Math.ceil(-5.1) + "
") //结果是-5

floor()

对一个数进行向下取整。(比原数小1)

document.write(Math.floor(3.5)+ "
") //结果是3

document.write(Math.floor(-5.1)+ "
") //结果是-6

round()

把一个数字四舍五入为最接近的整数。对于 0.5,该方法将进行上舍入。(5.5 将舍入为 6)

 如果 x 与两侧整数同等接近,则结果接近 +∞方向的数字值 。(如 -5.5 将舍入为 -5; -5.52 将舍入为 -6)。

random()

返回一个0~1的随机数。

7.Date



//运行结果是:
Fri Dec 07 2018 09:59:58 GMT+0800 (中国标准时间)
北京日期为:2018/12/7
北京时间为:上午9:59:58
当前年份是:2018
当前月份是:12
当前日期是:7
当前星期是:星期五

使用with(对象名){

//执行语句

//可以实现不用对象名调用函数

}

var date2 = new Date();
	with(date2)
		{
			var year = getFullYear();
			var month = getMon(getMonth());
			var day = getDate();
			var dat = getWeek(getDay());
			document.write(year+"-"+month+"-"+day+"-"+dat+"
"); } //运行结果是: //2018-12-7-星期五

 8.全局方法parseInt()和Number()对象

Number()

将任何数值型数据转化成数值,parseInt是将字符串转化为数值。

Number():

Boolean值:true和false将分别转换为1和0。

undefined返回NaN。

null值返回0。

另外,使用toString方法可以转换进制。

var num1=Number("Hello World");  //NaN

var num2=Number("");                  //0

var num3=Number("000011");      //11

var num4=Number(true);             //1
 

parseInt():

忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符或负号,parseInt()就会返回NaN。

用parseInt()转换空字符串会返回NaN。

如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。

例如,"1234blue"会被转换为1234,因为"blue"会被完全忽略。"22.5"会被转换为22,因为小数点不是有效的数字字符。

如果字符串以"0x"开头且后跟数字字符,就会将其当作一个十六进制整数;

如果字符串以"0"开头且后跟数字字符,就会将其当作一个八进制整数;

parseInt()函数第二参数用于指定转换时使用的基数(即多少进制,默认10进制)。

如:parseInt("10",16)//按十六进制解析;parseInt("10",8)//按八进制解析

parseInt("50px");//50

parseInt("a50px") ;//NAN

9.forin语句

对某个对象中的变量进行遍历



//运行结果是:
1
2
3
4
5

10.自定义对象

对象调用成员的两种方式:

对象.属性名  或者  对象["s属性名"]

 

 

 

 

你可能感兴趣的:(JAVA)