javaScript基础

。_饼干妹妹 提交于 2019-12-27 08:31:55

1JavaScript语言:

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

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

2js的使用:

Script标签

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             var a = '你好';
10             console.log(a);
11         </script>
12     </body>
13 </html>

Script标签将js文件进行引用

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

3.js的执行顺序:

Script标签内容的执行,是按顺序执行,但是加载是按照异步进行加载。

4.同步与异步:

同步:一个事情完成之后,才能做下一件事情,有等待就是同步。

异步:一个事情发起之后,下一个事情也可以立即发起,不需要等待前面一个事情完成之后才发起。

so:Script标签里面如果有代码出错,仅仅只会影响到这个script标签代码的执行。

5.运行原理:

浏览器首先会解析HTML,解析到script标签时候,会用调用JS引擎执行script标签里的代码,先会对代码预编译一些语法纠正和变量提升处理),然后解释执行。

6.js变量的申明:

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

申明变量方式:

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

未赋值的变量,会设置为undefined;

注意:js在预编译的时候,变量的声明会被提升到最上面。

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

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

Js变量命名规范:

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

js类型:

数值类型:整数/浮点数/infinite/-infinite/nan

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

对象:{},new object()

布尔值:true和false

Undefined:1.无申明2.有申明但是未赋值。3.没有任何属性值

Null:这是赋值为空的内容。

注意:两个字符型类型为数值的情况:只要有字符类型都按字符的拼接

 1 <!DOCTYPE html>
 2 <html>
 3 
 4     <head>
 5         <meta charset="utf-8" />
 6         <title></title>
 7 
 8     </head>
 9 
10     <body>
11 
12         <h1>JavaScript 数字</h1>
13 
14         <p>一个常见的错误是期望这个结果为 30:</p>
15 
16         <p id="demo"></p>
17 
18         <script>
19             var x = 10;
20             var y = 20;
21             document.getElementById("demo").innerHTML = "结果是:" + x + y;  //字符+数值+数值
22         </script>
23 
24     </body>
25 
26 </html>

7.js运算:

算数运算

加 +

减 -

乘 *

除 /

求余 %

 

赋值运算

+=

-=

*=

/=

%=

++

--

 

逻辑运算

和运算:&&

或运算:||

非:!

 

比较运算

大于:>

大于等于:>=

小于:<

小于等于:<=

等于:==

备注:js在做比较的时候会进行转换,如果能够通过类型转换成一样的内容,就为真。

全等于:===

备注:不做任何的类型转换,直接比较

不等:!=

备注:这个在比较的时候会做类型转换,转换之后还是不能一样,才是不等

全不等!==

备注:不做任何类型转换

条件运算

条件?”为真的时候执行”:”为假的时候执行”

三元运算符

var a = 3;
var b = 4

var c = a>b?"大于":"小于";
console.log(c)

8.js的流程控制和循环

if语句:

var age = 19
            if(age>18){
                console.log("欢迎来到我们这个网站")
            }else{
                console.log("对不起,你还未成年")
            }

 swicth:

var userType = "穷鬼VIP"
            
            switch(userType){
                case "vip":
                    console.log("随意看全场视频,还没有广告");
                    break;
                case "穷鬼VIP":
                    console.log("随意看,但有广告");
                    break;
                case "普通用户":
                    console.log("请充值,充值会让你更强大");
                    break;
                default:
                    console.log("你是属于非法进入");
            }

for语句:

 1 for (var i=0;i<10;i++) {
 2                 console.log(i)
 3             }
 4             
 5             
 6             var arr = ['习大大向中国国际服务贸易交易会致贺信','句句箴言,品读习大大引用的诗词典故','习大大:培养一茬茬、一代代合格的红军传人']
 7             var libiao = document.querySelector('#libiao')
 8             for(var i=0;i<arr.length;i++){
 9                 libiao.innerHTML += '<li>'+ arr[i] + "</li>"
10             }

While:

 1     var n = 1
 2             var result=0;
 3             while(n<=100){
 4                 result += n;
 5                 n++;
 6             }
 7             console.log(result)
 8             
 9             var n = 1
10             var result=0;
11             do{
12                 
13                 result += n;
14                 n++;
15             }while(n<=100)
16             console.log(result)

Continue

跳过当次循环

Break

跳过整个循环块

9.js函数:

函数定义的方式

方式1:function count(a){ return x }

方式2:var count = function(){}

1 say();
2             info();
3             function say(){
4                 var n = '李二';
5                 console.log('张大娘')
6             }
7             var info = function(){
8                 console.log('皇帝')
9             }

函数的参数

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

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

函数的返回值

用return直接返回对象

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

 10.js数组:

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

创建数组的方式

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             //1、字面量的方式创建数组
10             var arr1 = ["蔡徐坤","郭敬明","范冰冰"]
11             //2、new Array()创建数组
12             var arr2 = new Array("苹果",1,"香蕉",function(){console.log(123)})
13             console.log(arr1)
14             console.log(arr2)
15             
16             //数组内容的获取
17             console.log(arr1[0])
18             console.log(arr1[1])
19             arr2[3]()
20             
21             //数组内容的设置
22             arr2[3]  = 3
23             console.log(arr2)
24             
25             //通过循环输出列表内容
26             for(var i=0;i<arr1.length;i++){
27                 console.log(arr1[i])
28             }
29             
30             //队列==》先进先出
31             //栈==》先进后出
32         </script>
33     </body>
34 </html>

数组实现队列的2个方法:

Push:在数组最后添加元素

Shift:在数组的最前面删除元素

 

数组实现栈的2个方法:

Push:在数组最后添加元素

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             var duilie = ["范冰冰","李晨"]
10             console.log(duilie)
11             duilie.push('蔡徐坤')
12             console.log(duilie)
13             duilie.push("郭敬明")
14             console.log(duilie)
15             //push将内容添加到数组最后
16             
17             
18             //去掉数组的第一个元素
19             /*duilie.shift()
20             console.log(duilie)*/
21             
22             //去掉数组的最后一个元素
23             /*duilie.pop()
24             console.log(duilie)*/
25             
26             //在数组的第一个元素前面插入数据
27             /*duilie.unshift("雷军")
28             console.log(duilie)*/
29             
30             //在duilie.slice(0,2),在数组从索引0开始切,切到索引2的位置,不包括2;
31             /*console.log(duilie.slice(0,2))
32             console.log(duilie)*/
33             
34             //splice可以增加或者是删除指定元素,duilie.splice(删除或者增加索引的位置,删除多少个元素,增加的内容(可选))
35             /*console.log(duilie.splice(0,2,"迪丽热巴","古力娜扎"))
36             console.log(duilie)*/
37             
38             //合并两个数组
39             duilie = duilie.concat(['葡萄','香蕉',"雪梨"])
40             //相当于for循环
41             duilie.forEach(function(item){
42                 console.log(item)
43             })
44             
45             
46         </script>
47     </body>
48 </html>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!