第51天学习打卡(JavaScript基本语法入门 数据类型 )

2.2 基本语法入门

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--    JavaScript严格区分大小写-->
    <script>
        //java里面定义变量  变量类型  变量名 = 变量值;
        // 1.javascript里面一切的变量都是var
        var score = 72;
       // alert(num);
        // 2.条件控制
        if (score>60 && score<70){
            alert("60~70");
        }else if (score>70 && score<80){
            alert("70~80");
        }else{
            alert("other");
        }
        //console.log(score) 在浏览器的控制台打印变量!相当于System.out.println();
        /*
        *
        *
        * */


    </script>

</head>
<body>

</body>
</html>

必备调试须知:

image-20210228080417602

2.3数据类型

数值,文本,图形,音频,视频…

变量

var

number

js不区分小数和整数,Number

123//整数123
123.1//浮点数123.1
1.123e3//科学计数法
-99//负数
NaN //not a number
Infinity //表示无限大

字符串

‘abc’ “abc”

布尔值

true false

逻辑运算

&&   与   两个都为真,结果为真
||   或   一个为真,结果为真
!    非   真即假  假即真

比较运算符!!! 重要

= 赋值符号
== 等于   (类型不一样,值一样,也会判断为true=== 绝对等于 (类型一样,值一样,结果为true)

这是一个JS的缺陷,坚持不要使用==比较

须知:

image-20210228082232900

NaN这个与所有的数值都不相等,包括自己

浮点数问题:

console.log((1/3) === (1-2/3))

尽量避免使用浮点数进行运算,存在精度问题!

可以使用这个方法进行判断:

console.log( Math.abs(1/3 - (1 - 2/3))< 0.000000001);

null 和undefined:

null: 空

undefined:未定义

数组

Java的数组必须是相同类型的对象,JS中不需要这样。

 var arr = [1,2,3,4,'hello',null,true];

   new Array(1,12,3,4,5,null);

取数组下标:如果越界了,就会报undefined

对象

对象是用大括号

数组用中括号

每个属性之间使用逗号隔开,最后一个不需要使用逗号

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      //Java写法    Person person = new Person(1,2,3,4,5,);
      var person ={
          name:"qinjiang",
          age:3,
          tags:['js','java','web','...']

      }

      
    </script>

    
</head>
<body>

</body>
</html>

取对象的值,在控制台操作:

image-20210228094309078

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

<!--
      前提:IDEA需要设置支持ES6
      'use strict';严格检查模式,预防JavaScript的随意性导致产生的一些问题
      局部变量建议使用let去定义
      必须写在JavaScript的第一行

         -->
    <script>
        'use strict';
        //变量
      let  i = 1;
      //ES6 局部变量用let定义


    </script>

</head>
<body>

</body>
</html>

image-20210228095918758

3 数据类型

3.1 字符串

1.正常字符串我们使用单引号,或者双引号包裹。

2.注意转义字符\

image-20210228100954143

\':  字符串
\n:   换行
\t :  table
\u4e2d:  中      \u#### unicode字符
"\x41"    Ascll字符

3.多行字符串编写

//tab键上面 esc键下面
        var msg = `hello
        world
        nihaoya
        haohaoxuexio `

4.模板字符串

 //tab键上面 esc键下面
        let name = "qinjiang";
        let age = 3;
        let msg = `你好呀,${name}`
        console.log(msg);

5.字符串长度

console.log(str.length)

6.字符串的可变性:不可变

image-20210228103005779

7.大小写转换

//注意这里是方法,不是属性
console.log(student.toUpperCase())//大写
console.log(student.toLowerCase())//小写

image-20210228103259858

8.indexOf

console.log(student.indexOf('t'))//获取字符串指定的下标

9.substring

console.log(student.substring(2))//从第2个字符串截取到最后一个
student.substring(1,3)//包含第一个不包含第3个

image-20210228104319188

3.2数组

Array可以包含任意的数据类型

var arr = [1,2,3,4,5,6]
arr[0] 取值
arr[0] = 1 //按下标赋值

1.长度

arr.length

注意:假如给arr.length赋值,数组大小就会发生变化 ,如果赋值过小,元素就会丢失。

image-20210228105338959

image-20210228105647594

2.indexOf:通过元素获得当前元素所在的下标索引

image-20210228105837775

字符串的"1"和数字1是不一样的

image-20210228110318475

3.slice() 截取Array的一部分,返回一个新数组,类似于String中的substring

image-20210228110527610

4.方法 push(),pop()

push:压入到尾部
pop:弹出尾部的一个元素

image-20210228111007062

  1. unshift(), shift()头部压入与弹出

    unshift:压入到头部
    shift:弹出头部的一个元素
    
    

    image-20210228111356415

6.排序sort()

arr = ['B','C','A']
(3) ["B", "C", "A"]0: "B"1: "C"2: "A"length: 3__proto__: Array(0)
arr.push('D')
4
arr
(4) ["B", "C", "A", "D"]
arr.sort()
(4) ["A", "B", "C", "D"]

7.元素反转

arr
(4) ["B", "C", "A", "D"]
arr.sort()
(4) ["A", "B", "C", "D"]
arr.reverse()
(4) ["D", "C", "B", "A"]

8.concat()拼接

(4) ["D", "C", "B", "A"]
arr.concat([1,2,3,4])
(8) ["D", "C", "B", "A", 1, 2, 3, 4]
arr
(4) ["D", "C", "B", "A"]

注意:contact()并没有修改数组,只是会返回一个新的数组

9.连接符join

打印拼接数组,使用特定的字符串连接

arr
(4) ["D", "C", "B", "A"]
arr.join('-')
"D-C-B-A"

10.多维数组

arr = [[1,2],[3,4],["5","6"]]
arr[1][1]
4

数组:存储数据(如何存,如何取)

3.3对象

若干个键值对

 var 对象名 = {
     属性名: 属性值,
     属性名: 属性值,
     属性名: 属性值
            
        }
 //定义了一个person对象,其有四个属性
  var person = {
            name:"kuangshen",
            age:3,
            email:"24736743@qq.com",
            score:90



        }

JS中对象,以{…}表示一个对象,键值对描述属性xxxxx:xxxxx,多个属性之间使用逗号隔开,最后一个属性不加逗号。

JavaScript中的所有的键都是字符串,值是任意对象。

1.对象赋值

person.name
"kuangshen"
person.age
3
person.name = "qinjiang"
"qinjian

2.使用一个不存在的对象属性,不会报错.undefined

person.hhhhhh
undefined

3.动态的删减属性,通过delete删除对象的属性

delete person.name
true
person
{age: 3, email: "24736743@qq.com", score: 90}

4.动态的添加,直接给新的属性添加值即可

person
{age: 3, email: "24736743@qq.com", score: 90}
person.haha = "haha"
"haha"
person
{age: 3, email: "24736743@qq.com", score: 90, haha: "haha"}

5.判断属性值是否在这个对象中! xxx in xxx

age'in person
true
//集成 in可以找到父类的方法

'toString' in person
true

6.判断一个属性是否是这个对象自身拥有的hasOwnProperty()

person.hasOwnProperty('toString')
false
person.hasOwnProperty('age')
true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值