目录

实时预览

编写位置

数据类型

其他类型转换为string类

1.toString ()方法

2.调用 String()函数;

其他数据类型转换为number

1.调用Number()函数

2.parseInt()/parseFloat()

其他类型转布尔

this

使用工厂方式创建对象

构造函数

数组

concat()

push()

pop()

splice()

substring()

substr()

其他

Date 对象

Date 对象

获取几号

返回周几(0-6)周日返回0

返回月份(0-11) 1月从0开始

获取时间戳

其他

包装类

 


实时预览

安装插件

vscode 用js读取redis数据_vscode 用js读取redis数据

页面下方出现 Go Live

vscode 用js读取redis数据_构造函数_02

就可以了。

编写位置

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript">
        
        document.write("页面");
        console.log("我是控制台呀看到我了吗"); //控制台输出
        alert("我是弹框"); //弹框

    </script>
</head>

<body>

</body>

</html>

vscode 用js读取redis数据_JavaScript_03

数据类型

六种数据类型(包括五种基本数据类型)

string 字符串
 number 数值
 boolean 布尔
 null 空值
 undefined 未定义
  
 object 对象

其他类型转换为string类

1.toString ()方法

var a = 123;
 a = a.toString();

 console.log(typeof a);  //输出数据类型
 console.log(a);


 var a = true;
 a = a.toString();

 console.log(typeof a);  //输出数据类型
 console.log(a);

 

vscode 用js读取redis数据_构造函数_04

vscode 用js读取redis数据_数组_05

 但是null和undefined没有此方法,so..

a = null ;
 a.toString();
 
 a = undefined ;
 a.toString();

 会报错。

2.调用 String()函数;

此方法将转换的数据作为参数传递给函数。

var a = 123;
 a = String(a);
//将a转换为字符串。

a = null;
a = String(a);
//将null类型转换为string类 a = "null"


a = undefined;
a = String(a);
//将undefined转化为string类  a = "undefined"

 

其他数据类型转换为number

1.调用Number()函数

同上,

注意(1字符串含有非数字转换为NaN;

        (2 空串或null类型转化为0;

        (3布尔类型转为 1或0

        (4 undefined 转换为NaN

2.parseInt()/parseFloat()

专门用于带非字符的字符串

var a = "130 px 123";
a = parseInt(a);
//取出有效整数,从第一位开始不是整数位就停止

vscode 用js读取redis数据_JavaScript_06

var a = "130 px";
a = parseFloat(a);
//取出有效小数

vscode 用js读取redis数据_vscode 用js读取redis数据_07

其他类型转布尔

  • 数字 除了0和NaN都是true
  • 字符串 除了空串都是 true
  • null和undefined 都是 false

 

this

解析器在调用函数每次都会像函数内部传递一个隐含的参数,这个隐含的参数就是this,this是指向一个对象

<!DOCTYPE html>
 <html lang="en"><head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>Document</title>
     <script type="text/javascript">
         function fun() {
             console.log(this.name);
         }
         var obj = {
             name: "孙悟空",
             sayname: fun
         };
         //console.log(obj.name);
         //   console.log(obj.sayname);
         var obj2 = {
             name: "沙和尚",
             sayname: fun
         };
         var name = "全局name属性";
         obj.sayname();    //孙悟空
         obj2.sayname();    //沙和尚
         fun();                    //全局name属性
     </script>
 </head><body>
</body>
</html>

使用工厂方式创建对象

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript">
        function creatobj(name, age, gender) {
            var obj = new Object();
            obj.name = name;
            obj.age = age;
            obj.gender = gender;
            obj.sayname = function() {
                alert(this.name);
            }
            return obj;
        }
        var obj2 = creatobj("1", 18, "1");
        var obj3 = creatobj("2", 20, "0");
        console.log(obj2);
        console.log(obj3);
    </script>
</head>

<body>

</body>

</html>

构造函数

 * 创建一个Person构造函数

-在Person构造函数中,为每一个对象都添加了一个sayName方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayName方法 也是所有实例的sayName都是唯一的。 这样就导致了构造函数执行一次就会创建一个新的方法,执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript">
        function Person(name, age, gender) {

            this.name = name;
            this.age = age;
            this.gender = gender;
            //向对象添加一个方法,每执行一次就创建一次
            this.sayname = function() {
                alert("我叫" + this.name);
            }

        }
        var obj2 = new Person("1", 18, "1");
        var obj3 = new Person("2", 20, "0");
        console.log(obj2);
        obj2.sayname();
        console.log(obj3);
        obj3.sayname();
    </script>
</head>

<body>

</body>

</html>

在Person构造函数中,为每一个对象都添加了一个sayName方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayName方法 也是所有实例的sayName都是唯一的。 这样就导致了构造函数执行一次就会创建一个新的方法,执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的。

这是完全没有必要,完全可以使所有的对象共享同一个方法

构造函数修改

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script type="text/javascript">
        function Person(name, age, gender) {

            this.name = name;
            this.age = age;
            this.gender = gender;
            this.sayname = say;

        }

        function say() {
            alert("我名字" + this.name);
        }
        var obj2 = new Person("1", 18, "1");
        var obj3 = new Person("2", 20, "0");
        console.log(obj2);
        obj2.sayname();
        console.log(obj3);
        obj3.sayname();
    </script>
</head>

<body>

</body>

</html>

数组

concat()

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

//concat() 
        var arr1 = [1];
        var arr2 = [2, 3, 4, 5];
        var arr3 = arr1.concat(arr2);
        console.log("数组1:" + arr1); //1
        console.log("数组2:" + arr2); //2345
        console.log("数组3:" + arr3); //12345

输出:

vscode 用js读取redis数据_构造函数_08

push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

//push 末尾添加元素,并返回新的长度
var num = arr1.push(2, 3, 4); //添加并返回新的长度
console.log("添加元素后数组1的长度 :" + num); //4
console.log("数组1 :" + arr1);

输出

vscode 用js读取redis数据_html_09

pop()

pop()方法用于删除并返回数组的最后一个元素。

//pop 删除并返回数组最后一个元素
        console.log("返回数组1最后一个元素 :" + arr1.pop());

输出

vscode 用js读取redis数据_html_10

splice()

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

splice(index1,index2,index3) 方法会直接对数组进行修改。

        index1,表示开始位置的索引

        index2,表示删除的数量

        index3及以后 可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边

var a = [5, 6, 7, 8];
        console.log("被删除的元素 :" + a.splice(1, 0, 9)); //[]
        console.log("数组a : " + a); // [5, 9, 6, 7, 8]
        var b = [5, 6, 7, 8];
        console.log("被删除的元素 :" + b.splice(1, 2, 3)); //[6, 7]
        console.log("数组b :" +  b); //[5, 3, 8]

输出:

vscode 用js读取redis数据_vscode 用js读取redis数据_11

substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。返回的子串包括 start 处的字符,但不包括 stop 处的字符。

console.log("123456789".substring(2, 5)); //  "345"

substr()

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

substr(start,length)

start   要抽取的子串的起始下标。必须是数值。可为负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符

length 可选。子串中的字符数。

console.log("123456789".substr(2, 5)); //  "34567"

其他

vscode 用js读取redis数据_vscode 用js读取redis数据_12

Date 对象

Date 对象

用于处理日期和时间。

直接构造函数创建一个Date对象,则会封装当前代码执行时间

var d = new Date();
console.log(d);

创建一个指定的时间对象

需要在勾庄函数中传递一个表示时间的字符串作为参数

格式 "月/日/年 时:分:秒"

var d2 = new Date("1/27/2019 12:10:23");
        console.log(d2);

获取几号

console.log(d2.getDate());

返回周几(0-6)周日返回0

console.log(d2.getDay());

返回月份(0-11) 1月从0开始

console.log(d2.getMonth());

获取时间戳

时间戳:从格林威治标准时间 1970/1/1 0时0分0秒到当前日期所花费的毫秒数

console.log(d2.getTime());

其他

vscode 用js读取redis数据_数组_13

vscode 用js读取redis数据_JavaScript_14

包装类

  * 基本数据类型

 *  String Number Boolean Null Undefined

  * 引用数据类型

*  Object

 * 在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象

             *  String()

             *      - 可以将基本数据类型字符串转换为String对象

             *  Number()

             *      - 可以将基本数据类型的数字转换为Number对象

             * Boolean()

             *      - 可以将基本数据类型的布尔值转换为Boolean对象

 *  但是注意:我们在实际应用中不会使用基本数据类型的对象,

 *      如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果

var num = new Number(3);
num.hello = "abcdefg";
console.log(num.hello);

写到这我发现我大一学的web已经全部想起来了,,,