JavaScript学习--day01

1.语言特点

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

2.应用领域

PC浏览器/PC软件/手机浏览器/手机app/微信小程序/微信公众号开发/硬件开发/服务器开发/AR/VR/深度学习/机器学习

3.js的使用

Script标签内容的执行,是按顺序执行,但是4.加载是按照异步进行加载。Script标签里面如果有代码出错,仅仅只会影响到这个script标签代码的执行。浏览器首先会解析HTML,解析到script标签时候,会用调用JS引擎执行script标签里的代码,会对代码预编译(一些语法纠正和变量提升处理),然后解释执行。

3.1 Script标签

<script type="text/javascript">
            console.log("未成年人禁止进入1")
            console.log(a)
</script>

3.2 Script标签将js文件进行引用

<script src="js/index.js" type="text/javascript" charset="utf-8"></script>

4.如何申明变量

js是弱类型语言,所以申明变量的时候,统一用var进行申明变量。如果没有申明,就会申明一个全局变量。

声明变量的方式

var b;
var a,b,c;
var name = "username"

全局变量:在最外层申明的变量以及在函数内部未用var申明变量,那么就是全局变量,所有的全局变量都会在window上

局部变量:在函数内部申明的变量就是局部变量

Js变量命名规范:必须用字母或者_或者$作为首字母,字母加_加$加数字构成变量名。

js类型:

数值类型:整数/浮点数/Infinity/-Infinity/NaN

字符串类型:”abc”,’123’

对象:{},new object()

布尔值:true和false

Undefined:有申明但是未赋值。

Null:这是赋值了就是空的内容。

5.函数

5.1函数的定义方式

【1】:function count(a){ return x }

【2】:var count = function(){}

5.2函数的参数

对函数调用时候,不会对参数做任何的检测。

arguments关键词:获取调用函数时候的所有参数

5.3函数的返回值

用return直接返回对象

注意:如果没有写返回值,那么函数默认会返回undefined

6.数组

JavaScript的数组是可变长,里面的内容也是可以随意的替换,没有类型的限制

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            //1、字面量的方式创建数组
            var arr1 = ["蔡徐坤","郭敬明","范冰冰"]
            //2、new Array()创建数组
            var arr2 = new Array("苹果",1,"香蕉",function(){console.log(123)})
            console.log(arr1)
            console.log(arr2)
            
            //数组内容的获取
            console.log(arr1[0])
            console.log(arr1[1])
            arr2[3]()
            
            //数组内容的设置
            arr2[3]  = 3
            console.log(arr2)
            
            //通过循环输出列表内容
            for(var i=0;i<arr1.length;i++){
                console.log(arr1[i])
            }
            
            //队列==》先进先出
            //栈==》先进后出
        </script>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            var duilie = ["范冰冰","李晨"]
            console.log(duilie)
//            duilie.push('蔡徐坤')
//            console.log(duilie)
//            duilie.push("郭敬明")
//            console.log(duilie)
            //push将内容添加到数组最后
            duilie.shift();
            console.log(duilie)
            duilie.unshift("姚明")
            console.log(duilie)
            duilie.pop()
            console.log(duilie)
            duilie.push("麦迪")
            duilie.push("科比")
            console.log(duilie.slice(0,2))
            console.log(duilie)
            console.log(duilie.splice(0,2,"库里","杜兰特"))
            console.log(duilie)
            
            //去掉数组的第一个元素
            /*duilie.shift()
            console.log(duilie)*/
            
            //去掉数组的最后一个元素
            /*duilie.pop()
            console.log(duilie)*/
            
            //在数组的第一个元素前面插入数据
            /*duilie.unshift("雷军")
            console.log(duilie)*/
            
            //在duilie.slice(0,2),在数组从索引0开始切,切到索引2的位置,不包括2;
            /*console.log(duilie.slice(0,2))
            console.log(duilie)*/
            
            //splice可以增加或者是删除指定元素,duilie.splice(删除或者增加索引的位置,删除多少个元素,增加的内容(可选))
            /*console.log(duilie.splice(0,2,"迪丽热巴","古力娜扎"))
            console.log(duilie)*/
            
            //合并两个数组
            duilie = duilie.concat(['葡萄','香蕉',"雪梨"])
            //相当于for循环
//            duilie.forEach(function(item){
//                console.log(item)
//            })
            
            
        </script>
    </body>
</html>
原文地址:https://www.cnblogs.com/WhiperHong/p/10945371.html