第一周 Web开发入门(中)

四.JavaScript数组

JavaScript数组是指将多个数据对象编码存储、提供一致的数据存取方式集合。

数组元素:是指存储在数组中并赋予唯一索引号的数据段。

与其他程序语言不通,JavaScript的数组元素数据类型可以不相同

各元素的数据类型可以是任意有效的JavaScript数据类型,元素按添加进数组的顺序存储于数组中。

1.数组定义

//方法1
var myphones=new array[4];
myphones[0]=1;
myphones[1]=2;
myphones[2]=3;
myphones[3]=4;


//方法2
var myphones[1,2,3,4];

//方法3
var myphones=new array(1,2,3,4);

2.数组遍历方法

//方法1 for循环实现
var phones["小米","三星","苹果","华为"];

for(var i=0;i<phones.length;i++)
{
    document.write(myphones[i]);
    document.write("<br/>");
}

//方法2 for in循环
var phones["小米","三星","苹果","华为"];
for(key in phones)
{
    document.write(myphones[key]);
}

3.数组操作----插入、删除

    ✓从队尾插入删除元素

    push() 方法(在数组结尾处)向数组添加一个新的元素;

    pop() 方法从数组结尾处中删除最后一个元素。 

    ✓ 从头部插入删除元素

    unshift() 方法(在开头)向数组添加新元素

    shift() 方法会删除开头的元素。 

    ✓ 在任意位置插入删除元素

    splice() 方法既可以在数组的任意位置插入元素,也可以在数组的任意位置删除元素。

var mycars=["Saab","Volvo","BWM"];
//删除元素
var car=mycars.splice(1,2);//从索引的位置删除两个元素
document.write("被删除的元素是:"+car);//打印删除的元素
document.write("<br/>");
document.write("删除操作后的新数组元素是:"+mycars);
document.write("<br/>");
//splice 从指定位置插入元素
mycars.splice(1,0,"Volvo","BWM","宝马","奔驰");
document.write("插入操作后的新数组元素是:"+mycars);

4.数组操作----排序

    sort()方法以字母顺序对数组进行排序。

    reverse()方法反转数组的元素。

5.数组操作----合并

    var arr=[1,3,5];

    var arr1=[2,4,6];

    var arr2=[7,8,9];

    var newArr=arr.concat(arr1,arr2);//合并三个数组

6.数组转字符串

var mycars = ['宝马','奔驰','奇瑞','标致','捷达'];
var cars = mycars.join("|"); // 用|连接的字符串
//数组转换为字符串 ,分隔
var cars1=mycars.toString();
document.write(cars);
document.write("<br/>");
document.write(cars1);

    7.对象数组

<script>
    function user(name,age,sex);
    user1=new user("何涛","19","男");
    user2=new user("张旺","20","男");
    array1=new array(user1,user2,user3);

    for(var I=0;i<arr.length;i++)
    {
        console.log(array1[i].name);
    }
</script>

五.javaScript字符串

用于存储和操作文本。JavaScript字符串引号的零个或多个字符。

1.字符串搜索

    -indexOf()方法

       返回字符串中指定文本首次出现的索引(位置);

    -lastindexOf()方法

       返回指定文本在字符串中最后一次出现的索引;

    如果未找到文本,则均返回-1

var str = 'abcdeabcde'; //indexof(搜索词,起始索引位置) 
起始索引位置开始,检索顺序 从前往后
console.log(str.indexOf('a')); // 首次出现的位置 返回0 
console.log(str.indexOf('a', 3)); // 返回5 
console.log(str.indexOf('bc')); // 返回1 
//lastIndexOf(搜索词,起始索引位置) 检索顺序 从后往前
var str = 'abcdeabcde'; 
console.log(str.lastIndexOf('a')); // 返回5 
console.log(str.lastIndexOf('a', 3)); // 返回0,从索引3的位
置往前检索

      -search()方法

         用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。返回相匹配的String对象起始位置。

      -match()方法

         返回一个数组,其中存放了与他找到匹配文本有关的信息。

var str = 'abcDEF'; 
//search(搜索词) search(正则表达式) 检索搜索词子字符串 返回子字符串在串
的位置
console.log(str.search('c')); //返回2
console.log(str.search('d')); //无匹配,返回-1
console.log(str.search(/d/i)); //返回3,正则语法/i表示忽视大小写
var str = '1a2b3c4d5e';
//match(搜索词) match(正则表达式) 检索搜索词子字符串 返回初识索引位置
返回数组
console.log(str.match('h')); //返回null
console.log(str.match('b')); //返回["b", index: 3, input: "1a2b3c4d5e"]
console.log(str.match(/d/i)); //返回["d", index: 7, input: "1a2b3c4d5e"]

2.字符串替换

    replace()方法用另一个值替换在字符串中指定的值

    字符串.replace(正则表达式/要被替换的字符,要替换成为的子字符串)

//replace()两个参数
//第一个参数是字符串或没有进行全局匹配的正则表达式,只进
行一次替换,替换最前面的
document.write(str.replace('a', 'A')); 
document.write("<br/>");
document.write(str.replace(/a/i, 'A')); //正则表达式 /i忽略大
小写
document.write("<br/>");
document.write(str.replace(/a/g, 'A')); // /g全局匹配

3.字符串切割

    可以通过split()将字符串转换为数组。

var str = 'h|e|l|l|o'; 
console.log(str.split('|')); //返回["h", "e", "l", "l", "o"]
console.log(str.split('|', 3)); //返回["h", "e", "l"]
console.log(str.split('')); //返回["h", "|", "e", "|", "l", "|", "l", "|", "o"]

六.JavaScript函数

设计为指定任务的代码块,函数会在某代码调用它被执行

Function 函数名([参数1])

{

     [语句组]、[return表达式];

}

1.函数声明三种方式:

   -通过函数名声明

   -通过将匿名函数赋值给变量

   -通过new Function方式声明

其中前两种只有在调用函数时,才可以执行,第三种,直接执行,不需要调用。

//通过函数名声明
function fun1(){
    document.write("我是函数fun1");  //函数体
    document.write('br/');
}
fun1();

//匿名函数赋值给变量
var fun2=function(){
    document.write("我是函数fun1");  //函数体
    document.write('br/');
}
fun2();

//直接调用无需执行
var fun3=new Function(document.write('我是函数fun3'));

2.函数调用

除了使用Function对象的构造函数创建的函数不需要调用,其他函数均需调用才能执行。

(1)传值调用

(2)传址调用

(3)传函数调用

(4)链接调用、事件触发调用

//传值调用
function1 fun1(str){
    str='你好';
}
var a='hello';
fun1(a);
document.write(a);     //输出值为hello,形参的值不会改变实参的值

//传址调用
function2 fun2(person){
    person.name='何涛';
}
var b={name:'李四';}   //对象类型 引用类型
fun2(b);    //传地址调用
document.write(b);     //输出值为何涛

//传函数调用
function add(a,b)
{
    return a+b;
}

function times(a,b)
{
    return a*b;
}

function operation(a,b,fun)
{
    return fun(a,b);
}

var test1=operation(3,5,add);
document.write(test1);


//链接调用 TAT没看懂

3.内置函数----定时器函数

使用定时器可以为web页面制作出移动端的景物、变幻的色彩等动画效果,这些都需要定时器将页面元素分帧改变其属性。

JavaScript 定时器有两个方法: 

✓ setInterval(): 

✓ setTimeout( ):

<body onload="f1()">
<font id='fTime'></font>
<button onclick="stop()">单击停止时间走动</button>
    <script>
        var ftime;//类似全部变量
        var timeId;
        window.onload=function()
        {
            ftime=document.getElementById("fTime");//初始化    
            timeMove();//调用函数
        }
        function timeMove(){
        var date=new Date();//当前日期对象                                         fTime.innerHTML=date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
         }//往ftime填数据
        timeId=setInterval(timeMove,1000); //每秒调用一次
        function stop(){
        clearInterval(timeId); //
    }
    </script>
</body>

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值