JavaScript基础

1. js嵌入页面的三种方式

(1)外部引入

<script type="text/javascript" src="js/index.js"></script>

(2)页面script标签嵌入

<script>
   //代码
</script>

(3)行内标签嵌入

<input type="button" onclick="alert('ok!');">

2. 变量类型

7种基本数据类型:
1、number 数字类型
2、string 字符串类型
3、boolean 布尔类型
4、undefined类型
5、null类型
6、symbol(ES6新增)
7、bigint(ES10新增)

1种复合类型:
object(包括function、array、object)

3. 数组及操作方法

(1)定义数组

var arr01 = new Array(1,2,3);
var arr02 = [1,2,3,'sad'];
var arr03 = [[1,2,3],['a','b','c']];

(2)操作数组中数据的方法

  • 获取数组长度:arr01.length    //3
  • 利用下标获得数据:arr01[0]   //1
  • 插入分隔符:arr01.join(’-’)    //1-2-3
  • 从数组最后增加、删除数据:arr01.push(4)    //1,2,3,4
                 arr01.pop()      //1,2
  • 在数组中增加、删除数据:arr01.splice(1,1,5,6)   //从第一个元素开始,删除一个元素,增加5、6两个元素,结果是1,5,6,3
                arr01.splice(1);   //1
                arr01.splice(1,1);   //1,3
  • 反转数组:arr01.reverse()   //3,2,1
  • 返回数据第一次出现的索引:arr01.indexOf(1)   //0

example:数组去重

        var aList01 = [1,1,2,2,3,4,4];
        var aList02 = [];

        for(var i=0;i<aList01.length;i++)
        {
            if(aList01.indexOf(aList01[i]) == i)
            {
                aList02.push(aList01[i]);
            }
        }

        alert(aList02);  //1,2,3,4

3. 字符串处理方法

(1)字符串合并

        var num01 = 1;
        var num02 = 2;
        var num03 = '34';
        var str = 'a';

        alert(num01+num02);  //3
        alert(num01+num03);  //134
        alert(num03+str);    //34a

(2)将数字字符串转化为整数 parseInt()

        var num02 = 2.2;
        var num03 = '1.5';

        alert(parseInt(num02));  //2
        alert(parseInt(num03));  //1

(3)将数字字符串转化为小数 parseFloat()

        var num01 = 1;
        var num02 = '2.2';
        alert(parseFloat(num01));  //1
        alert(parseFloat(num02));  //2.2

(4)根据分隔符把字符串分片成数组split()

        var str = '2021-9-14';
        var arr01 = str.split('-');
        var arr02 = str.split('');
        alert(arr01);  //2021,9,14
        alert(arr02);  //2,0,2,1,-,9,-,1,4

(5)查找字符串中某字符第一次出现的索引indexOf()

        var str = "abcdd";
        alert(str.indexOf('d'));  //3

        var str = "abcdd";
        alert(str.indexOf('e'));//-1

(6)截取字符串 substring(start,end)

        var str = "abcde";
        alert(str.substring(2,4));  //cd
        alert(str.substring(1));  //bcde

example:字符串反转

        var str01 = "abc";
        var str02 = str01.split('').reverse().join('');
        alert(str02); 

5. 定时器

setTimeout   只执行一次的定时器
clearTimeout  关闭只执行一次的定时器
setInterval    反复执行的定时器
clearInterval   关闭反复执行的定时器

        var time01 = setTimeout(myfn,1000);
        var time02 = setInterval(myfn,2000);
        clearTimeout(time01);
        clearInterval(time02);

        function myfn(){
            alert('肩好痛');
        }

example:利用定时器做动画

    <style>
        #box{
            width: 200px;
            height: 200px;
            background-color: hotpink;
            position: fixed;
            top: 100px;
            left: 0;
        }
    </style>

    <script>
        window.onload = function(){
            var oDiv = document.getElementById('box');
            var iLeft = 0;

            function myMove(){
                iLeft += 3;
                oDiv.style.left = iLeft + 'px';
            }

            setInterval(myMove,30);
        }
    </script>
    
    <div id="box"></div>

6. 变量作用范围

        var a = 1;  //定义全局变量
        function myalert(){
            var b = 2;  //定义局部变量
            alert(a);
            a++;  //修改全局变量
            alert(b);
        }
        myalert();  //弹出1 2
        alert(a);  //2
        alert(b);  //出错

7. 匿名函数

匿名函数可以减少函数命名,并且简化代码,写法如下:
window.onload = function(){}

8. 封闭函数

封闭函数是匿名函数的另一种写法,封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全。写法如下:

(function(){
    alert('hello!');
})();

!function(){
    alert('hello!');
}();

~function(){
    alert('hello!');
}();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值