美文网首页
2018-04-18

2018-04-18

作者: 小古雪 | 来源:发表于2018-04-18 11:17 被阅读0次

[TOC]

var和let的区别

var的特点

1.var可以重复声明,后面的覆盖前面的值

    var a=10;
    var a=100;

2.var可以只声明不赋值,此时变量是undefined

var b;
console.log(b); //undefined

3.在全局作用域中,使用var声明的变量会给全局对象window增加一个属性

var c=10;
//in:用来判断一个属性在不在一个对象中
console.log("c" in window); //true

let的特点

1.不可以重复声明

let name="珠峰";
let name="培训"; //报错 "name" has already been declared (name已经被声明了)

2.只声明不赋值,就会报错
3.在全局作用域中,使用let声明的变量不会给全局对象window增加一个属性

const 定义变量(常量的特点)

1.不可以重复声明
2.声明的常量不会给全局对象window增加一个属性

const a=100;
console.log(window.a); //undefined

3.赋值之后不可以修改

const tt=100;
tt=200;  //报错  invalid assignment to const `tt' 常量tt已经被分配值了

4.一旦声明必须赋值

const a;  //SyntaxError(语法错误): missing = in const declaration(声明)

toString()详解

1.任意数据类型都有一个toSting方法,只有null和undefined没有这个方法

null.toString(); //报错 Cnanot read property 'toString' of null(在null中没有找到这个toString方法)

//数字number
let num=10;
console.log(num,num.toString()); //10 "10"

2..toString(); //2 注意:数字后面紧跟的点表示有效数字小数点,如果再有一个点就是字
符
//使用小括号括起来
console.log((2).toString()); //2

//boolean
let bol=true;
console.log(bol.toString()); //"true"
let bol1=false;
console.log(bol1.toString()); //"false"

//引用数据类型的toString()方法
数组调用toString方法转字符串直接将[]变成""
var arr1=[];
console.log(arr1.toString()); //""

var arr2=[1,2,3];
console.log(arr2.toString()); //"1,2,3"


//对象转字符串的结果都是  "[object Object]"
var person={
    name:"珠峰",
    age:9
    };
console.log(person.toString());  //"[object Object]"

//正则转字符串 直接使用引号抱起来

var reg=/\d+/;
console.log(reg.toString()); "/\d+/"

//时间转字符串,直接用引号括起来
var date=new Date();
console.log(date.toString()); //"Wed Apr 18 2018 10:53:25 GMT+0800"

//函数转字符串,直接用引号抱起来
function sum(){
    return 1+1;
}
console.log(sum.toString()); //"function sum(){return 1+1;}"

相关文章

网友评论

      本文标题:2018-04-18

      本文链接:https://www.haomeiwen.com/subject/gjlvkftx.html