js中定义变量的三种方式的区别(const,var,let)

在js中定义变量有三种方式

1.const

const定义的变量在js中意味着这个变量唯一(即不可以重复定义)且不可修改并且在定义变量时就需要去初始化,如果你在js中重复同一个const变量,及如下所示

 const test="sa";
		const test="1";

则会在运行时报错

Uncaught SyntaxError: Identifier 'test' has already been declared

如果你在定义了个const变量后去修改

const test="sa";
		test="1";

则会出现另一个错误

index.1.html:17 Uncaught TypeError: Assignment to constant variable.

2.var

如果你在js中定义一个var变量,那么在js中可以重复定义但是会出现值覆盖的情形,


<html>
	<head>
		<meta charset="utf-8" />
		<title>title>
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js">script>
		<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.1.6/vue-router.js">script>
	head>
	<body>
		<div id="sa">
			<label>{
    {name}}label>
		div>
	body>
	<script>


		var a="my";
		var b="you"
		var v = new Vue({
      
			data: {
      
				name:a
			},
			methods: {
      
				after:function(){
      
					this.$router.go(-1)
				},
				goto:function(){
      
					this.$router.go(1)
				},
			},
		}).$mount("#sa")
	script>
html>

运行结果

js中定义变量的三种方式的区别(const,var,let)_第1张图片
并且你在定义的时候可以不用初始化值,还可以对该变量的值进行修改

3let

.let是块级作用域,函数内部使用let定义后,对函数外部无影响。


<html>
	<head>
		<meta charset="utf-8" />
		<title>title>
		<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js">script>
		<script src="https://cdn.bootcdn.net/ajax/libs/vue-router/3.1.6/vue-router.js">script>
	head>
	<body>
		<div id="sa">
			<label v-on:click="before">{
    {name}}label>
		div>
	body>
	<script>

		var v = new Vue({
      
			data: {
      
				name:"hello"
			},
			methods: {
      
				after:function(){
      
					let a=3;
					
				},
				before:function(){
      
					console.log(this.a)
				}
			},
			
		}).$mount("#sa")
	script>
html>

运行结果
js中定义变量的三种方式的区别(const,var,let)_第2张图片

你可能感兴趣的:(vue)