变量
/*
语法:var [变量名] = 值
let [变量名] = 值
const [变量名] = 值
function 函数名(){}
*/
var n = 10;
n = 15;
alert(n + 10) //弹出来25,此时n代表15
const m = 100;
m = 200;//Uncaught TypeError:Assignment to constant variable
不能给一个常量重新的赋值(常量存储的值不能被修改,能修改的就是变量了)
创建变量,命名的时候要遵循一些规范
- 严格区分大小写
var n = 12;
var N = 13;//两个变量不是同一个变量
- 遵循驼峰命名法:按照数字、字母、下划线或者$来命名(数字不能作为名字的开头),命名的时候基于英文单词拼接成一个完整的名字(第一个单词字母小写,其余每一个有意义单词的首字母都大写)
var studentInfo/student_info
_studentInfo(下划线在前面,都是公共变量)
$studentInfo(一般存储的是JQ元素)
语义化强
add/creat/insert
del(delete)/update/remove(rm)
info/detail
- 不是使用关键字和保留字
数据值是一门编程语言进行生产的材料,JS中包含的值有以下这些类型
- 基本数据类型(值类型)
- 数字(Number)
- 字符串(String)
- 布尔(Boolean)
- null
- undefined
- Symbol,(ES6中新增加的一个特殊的类型)唯一的值
- 引用数据类型
- 对象Object
- 普通对象
- 函数
- 数组对象
- 正则对象
- 日期对象
- ...
- 对象Object
[基本数据类型]
var n = 13;//数字类型中有一个特殊的值NaN(not a number代表不是一个有效数字,但是属于number类型)
var s = '';//"" '13' "{}" JS中所有使用单引号和双引号包裹起来的都是字符串,里面的内容是当前字符串的字符(一个字符串由零到多个字符组成)
var b = true;//布尔类型只有两个值 true真 false假
[引用数据类型]
var o = {namer:'zz',age:19};//普通对象:由大括号包裹起来,里面包含多组属性名和属性值(包含多组键值对){}空对象
var ary = [1,3,5];//中括号包裹起来,包含零到多项内容,这是数组对象 []空数组
var reg = /-?(\d\([1-9]\d+))(\.\d+)?/g;//由元字符组成一个完整的正则 //不是空正则就是单行注释
function fn(){}
[Symbol]
创建出来一个唯一的值:
var a = Symbol('aa')
var b = Symbol('aa')
a == b //false
js代码如何被运行以及运行后如何输出结果
[如何被运行]
- 把代码运行在浏览器中(浏览器内核来渲染)
- 基于node来运行(node不是一门语言,node也是一个基于V8引擎渲染和解析js的工具,可以理解成浏览器) 不是使用node做后台,而是使用js写后台依托node来运行,node是环境和工具。客户端通过浏览器解析,服务器同node来解析。
[如何被输出结果]
- alert:在浏览器中通过弹框的方式输出(浏览器提示框)
var num = 12;
alert(num);//window.alert
//基于alert输出的结果都会转换为字符串:把值(如果是表达式先计算结果)通过toString这个方法转换成字符串,然后再输出
alert(1+1);//'2'
alert(true);//'true'
alert([12,3];//'12,3'
alert({name:'a'});//'[object object]' 思考:为什么是这个结果
- confirm:和alert用法一致,只不过是提示的框中有确定和取消两个按钮,所以它是确认提示框
var flag = confirm('确认输出嘛?')
if (flag === true){
//falg:true 用户点击的是确定按钮
}else{
//falg:false 用户点击的是取消按钮
}
- prompt:在confirm的基础上加上输入框 (用的少)
- console.log:浏览器控制台输出到日志
- Elements:当前页面中的元素和样式都可以看到,还可以调节样式
- console:控制台,可以在js代码中通过.log输出到这里,也可以在这里直接编写js的代码
- Sources:当前网站的源文件都在这里
- ...
- console.dir:比log输出的更加详细一些(尤其是输出对象数据值的时候)
- console.table:把一个json数据按照表格的方式输出
- ...(扩展更多的console的输出方法)