es6-day01-基础语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    'use strict';//使用严格检查模式
     // str='hello hello';如果没有用var关键字定义,则在控制台报not available
    var str='hello hello';
    console.log(str);
    //打印具体每个字符,类似于数组,即变量名[下标]
    console.log(str[0]);//结果为h
    console.log(str[1]);//结果为e

    str.toUpperCase();//全部变大写 HELLO HELLo
    str.toLowerCase();//全部变小写 hello hello

    //indexOf():返回字串首字母的下标
    str.indexOf('hello');//返回0
    str.indexOf('Hello');//没有找到字串,则返回-1
    str.substring(0,5);//从索引0开始到4(不包括4),返回helle
    str.substring(3);//从索引3开始到结束,返回"lo hello"

    //==与===
    true ==1;//返回true
    true === 1;//返回false
    NaN === NaN;//返回false
    NaN === 1;//返回false
    isNaN(NaN);//返回true
    //== 比较,它会自动转换相同的类型再比较,但是有时候比较奇葩,返回的值有时候有些反常
    //=== 比较,它不会自动进行数据类型转换如果类型不一致,就返回false,然后再比较数值
    //注意一点,NaN(属于number类型)和任何值比较都不相等(包括它自己本身在内)
    //但是NaN可以通过isNaN()函数进行判断

    //null与undefined
    /*null代表的是,一个空值,他与'',0不同,0代表一个数值,''代表长度为0的字符串
    这样看来,两者的数据类型不一样。
    undefined代表还没有赋值,即值未定义
    */

    //数组:两种定义
    var arr1  = [1,'hi',null];
    arr1.length = 4;//给数组长度赋一个值,将会导致数组大小的变化
    arr1;//arr1变为[1,'hi',null,empty]
    arr1.length = 2;
    arr1;//arr1变为[1,'hi']
    arr1.indexOf(1);//返回1对应的索引0
    arr1.slice(1);//从索引1开始到结束,返回["hi"]
    arr1.slice(0,2);//从索引0到2(但不包括2),返回
    arr1.unshift('A','b');//返回长度4,因为之前改变了数组昌都,改成了2,unshift:往数组头部增加元素
    arr1;//返回['A','b','hi',null]
    arr1.shift();//返回4  shift:删除头部第一个元素,返回‘A’,可以链式删除,即连续几个shift()
    arr1.shift();arr1.shift();arr1.shift();
    arr1.shift();//即使数组空了,也不会报空指针异常,而是undefined

    var arr2 = new Array('a','b','d','c');
    arr2.sort();//从小到大排序
    arr2;//返回['a','b','c','d']
    arr2.reverse();//reverse反转元素
    arr2;//返回['d','c','b','a']

    var arr3 = ['apple','peach','banana','orange']
    //从索引1开始删除3个元素,然后再添加两个元素
    arr3;// ["apple", "peach", "banana", "orange"]
    arr3.splice(1,3,'pear','grape');//返回删除的元素  ["peach", "banana", "orange"];
    arr3;// ["apple", "pear", "grape"]
    //只删除,不添加
    arr3.splice(1,1);//返回["pear"]
    //只添加,不删除
    arr3.splice(1,0,'mango','strawberry');//返回[],因为没有删除任何元素

    /*数组格式:[元素1,元素2,...,]
    数组的元素类型任意;
    数组可以改变长度大小
    数组的indexOf(),slice()分别类似于String的indexOf(),substring()方法,

     */


    //对象(因为JavaScript是动态语言,可以随意添加或删除某一属性)
    var dog = {
        name: '旺旺',
        weight: '7kg',
        age: 2
    }
    //获取对象属性,对象。属性名
    dog.age;//2
    dog.name;//旺旺
    var person = {
        age: 3
    }
    person.name = '张三';//返回张三
    person.height = 178;//新增一个height属性
    delete person.name;//删除name属性,返回true
    person.name;//undefined
    delete  person.sex;//删除一个不存在的属性也不会报错,返回true
    //判断某属性是否属于某对象,用hasOwnProperty()方法
    person.hasOwnProperty('age');//true
    person.hasOwnProperty('sex');//false


</script>
</body>
</html>

控制台输出如下:

hello hello
day01.html?_ijt=45cdacbqopmku311p2crusd8n:14 h
day01.html?_ijt=45cdacbqopmku311p2crusd8n:15 e
str.toUpperCase();
"HELLO HELLO"
 str.toLowerCase();
"hello hello"
str.indexOf('hello');
0
str.indexOf('Hello');
-1
str.substring(0,5);
"hello"
str.substring(3);
"lo hello"
 true ==1;
true
true === 1;
false
NaN === NaN;
false
 NaN === 1;
false
isNaN(NaN);
true
var arr1  = [1,'hi',null];
undefined
arr1.length = 4;
4
arr1
(4) [1, "hi", null, empty]
arr1.length=2
2
arr1
(2) [1, "hi"]
arr1.indexOf(1)
0
arr1.slice(1);
["hi"]
arr1.slice(0,2);(2) [1, "hi"]
undefined
arr1.slice(0,2);
(2) [1, "hi"]
arr1.unshift('A','b');
4
 arr1;
(4) ["A", "b", 1, "hi"]
arr1.shift();
"A"
arr1.shift().shift().shift();
VM270:1 Uncaught TypeError: arr1.shift(...).shift is not a function
    at <anonymous>:1:14
(anonymous) @ VM270:1
arr1.shift().shift()
VM277:1 Uncaught TypeError: arr1.shift(...).shift is not a function
    at <anonymous>:1:14
(anonymous) @ VM277:1
arr1.shift();
"hi"
arr1.shift();
undefined
arr1.shift();
undefined
var arr2 = new Array('a','b','d','c');
undefined
arr2.sort();
(4) ["a", "b", "c", "d"]
arr2.reverse();
(4) ["d", "c", "b", "a"]
var arr3 = ['apple','peach','banana','orange']
undefined
arr3;
(4) ["apple", "peach", "banana", "orange"]
 arr3.splice(1,3,'pear','grape');
(3) ["peach", "banana", "orange"]
arr3;
(3) ["apple", "pear", "grape"]
arr3.splice(1,1);
["pear"]
   arr3.splice(1,0,'mango','strawberry');
[]
var dog = {
        name: '旺旺',
        weight: '7kg',
        age: 2
    }
undefined
dog.age;
2
dog.name
"旺旺"
var person = {
        age: 3
    }
undefined
person.name = '张三';
"张三"
person.height = 178
178
delete person.name;
true
person.name;
undefined
delete  person.sex;
true
    person.hasOwnProperty('age');
true
person.hasOwnProperty('sex');
false

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值