JavaScript的一些基础性知识 (2)

JS中有数据类型,但是JS的引用是不区分类型的,所以称JS为弱类型,即,一个引用可以先指向数字类型,后再指向字符类型,还可以再指向对象类型。如下 的代码是没有问题的。

var x = 99;

x = “aa”;

x = true;

x = new Object();

注意: js的变量名区分大小写.

3.5.    运算符 3.5.1. Js中的运算符

Javascript中的运算符和Java大致相同。

只是运算过程中需要注意几点:

var x = 3120/1000*1000; x = 3120;而不是3000。

var x = 2.4+3.6 ; x = 6;而不是6.0

var x = “12” + 1; x = “121”; x = “12” – 1 ; x = 11;

加号对于字符串是连接符

&&  || 是逻辑运算符  & | 是位运算符。

也支持三元运算符  ? :

特殊运算符 typeof : 返回一个操作表达式的数据类型的字符串。

var x = 3;

var y = “123”;

var z = false;

typeof(x); //number

typeof(y); //string

typeof(z); //boolean

3.6.    语句 3.6.1. 判断结构(if语句)

var x = 3;

if(x==4)//可以进行比较运算。

if(x=4)//可以进行赋值运算,而且可以同样进行判断。不报错。

因为在Js中0或者null就是false,

非0或者非null就是true(通常用1表示)。

所以if(x=4)结果是true;

可以通过if(4==y)来解决该问题。因为4=y不会进行判断,而是会报错。

3.6.2. 选择结构(switch语句)

语法和Java中的很相似, 并且也支持string类型。

3.6.3. 循环结构(while语句,do…while语句,for语句)。

注:和java基本相同,不同的是,没有了具体数据类型的限制,使用时要注意。

3.7.    函数  3.7.1. 普通方法定义函数

function  函数名(形式参数...)

{

    执行语句;

    return 返回值;

}

函数是多条执行语句的封装体,只有被调用才会被运行。

注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行。

说的简单点:只要写了函数名后面跟了一对小括号,该函数就会运行。那么传递的参数呢?

其实,在函数中有一个参数数组对象(arguments),该对象将传递的参数都封装在一个数组中。

例:   

function demo()//定义函数。

{

    alert(arguments.length);

}

demo(“hello”,123,true);//调用函数。

那么弹出的对话框结果是3,如果想得到所有的参数值,可以通过for循环遍历该数组。

for(var x=0; x<arguments.length; x++)

{

    alert(arguments[x]);

}

为了增强阅读性,最好按照规范,按定义好的形式参数传递实际参数。

函数在调用时的其他写法:

var show = demo();//show变量接收demo函数的返回值。

var show = demo;//这种写法是可以的,意为show和demo代表同一个函数。

              //那么该函数也可以通过show()的方式运行。

 

3.7.2. 匿名函数

格式:function(){...}

例:var demo = function(){...}

demo();

通常在定义事件属性的行为时较为常用。

例:

function test()

{

    alert(“load ok”);

}

window.onload = test;

可以写成匿名函数的形式:

    window.onload = function()

{

    alert(“load ok”);

}

匿名函数就是一种简写格式。 

3.7.3. 动态函数(了解)

通过Js的内置对象Function实现。

    例:var demo = new Function(“x” ,”y”,”alert(x+y);”);

       demo(4,6);

       如同:

       function demo(x,y)

       {

           alert(x+y);

       }

       demo(4,6);

不同的是,动态函数,参数以及函数体都可以通过参数进行传递,可以动态指定。

3.8.    数组 3.8.1. 定义js数组

var arrayObj = new Array(); //创建一个数组

var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值

var arrayObj = [1,2,5,6,3];//数组直接量定义数组

3.8.2. Js中的数组特点

Js中数组中的特点:可以存任意元素,长度是可变的。

格式:

    var arr = new Array();

    arr[0] = “hello”;

    arr[1] = 123;

    var arr = [‘hello’,123,true,”abc”];

3.8.3. JS数组的包装对象

JS中提供了数组的包装对象Array,提供了数组处理相关的属性和方法。

Array对象提供的属性:

length:数组长度

Array 对象提供的方法:

参考JS文档

3.8.4. JS中遍历数组

通过遍历即可对数组进行基本操作。

    for(var x=0; x<arr.length; x++)

    {

        alert(arr[x]);

    }

3.9.    对象 3.9.1. JS内置对象

RegExp 对象

re = /pattern/[flags]

re = new RegExp("pattern",["flags"])

常用方法:

rgexp.test(str)

    检索字符串是否符合该正则表达式规则。返回 true 或 false。

修饰符用于执行不区分大小写和全文的搜索。

i - 修饰符是用来执行不区分大小写的匹配。

g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。

 

 

String对象

strVariable.length

    返回 String 对象的长度。

strObj.charAt(index)

    返回指定索引位置处的字符。

strObj.indexOf(subString[, startIndex])

    返回 String 对象内第一次出现子字符串的字符位置。

strObj.lastIndexOf(substring[, startindex])

    返回 String 对象中子字符串最后出现的位置。

stringObj.match(rgExp)

    使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。

stringObj.replace(rgExp, replaceText)

    返回根据正则表达式进行文字替换后的字符串的复制。

stringObj.search(rgExp)

    返回与正则表达式查找内容匹配的第一个子字符串的位置。

stringObj.split([separator[, limit]])

    将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.slice(start, [end])

    提取字符串的某个部分。包括字符串 stringObj 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

stringvar.substr(start [, length ])

    返回一个从指定位置开始的指定长度的子字符串。

strVariable.toLowerCase( )

    返回一个字符串,该字符串中的字母被转换为小写字母。

strVariable.toUpperCase( )

    返回一个字符串,该字符串中的所有字母都被转化为大写字母。

Array对象

numVar = arrayObj.length

    返回一个整数值,这个整数比数组中所定义的最高位元素的下标大 1。

array1.concat([item1[, item2[, . . . [, itemN]]]])

    返回一个新数组,这个新数组是由两个或更多数组组合而成的。

arrayObj.join([separator])

    返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。

arrayObj.pop( )

    移除数组中的最后一个元素并返回该元素。

arrayObj.push([item1 [item2 [. . . [itemN ]]]])

    将新元素添加到一个数组中,并返回数组的新长度值。

arrayObj.shift( )

    移除数组中的第一个元素并返回该元素。

arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])

    将指定的元素插入数组开始位置并返回该数组的新长度值。

arrayObj.reverse( )

    返回一个元素顺序被反转的 Array 对象。

arrayobj.sort(sortfunction)

    返回一个元素已经进行了排序的 Array 对象。

arrayObj.slice(start, [end])

    返回一个数组的一段。

arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])

    从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。

Date(日期)对象 -- 日期对象用于处理日期和时间

dateObj = new Date()

dateObj = new Date(dateVal)

dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])

常用方法:

    getFullYear() -- 获取日期对象中所表示时间的年份,如:1988

    getMonth() -- 返回 Date 对象中用本地时间表示的月份值,返回一个处于 0 到 11 之间的整数,它代表 Date 对象中的月份值,0表示一月。

    getDate() -- 返回 Date 对象中用本地时间表示的一个月中的日期值,返回值是一个处于 1 到 31 之间的整数,它代表了相应的 Date 对象中的日期值。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyypfz.html