JavaScript由三部分组成:javascript
JavaScript注释由两部分组成:java
// 单行注释
复制代码
/* 多行注释 不能嵌套使用 */
复制代码
script标签能够有多个,按顺序执行数组
<script src='other.js'> // 要注意src指向的文件 路径
// 若是连接了外部js文件,script标签内的代码就不执行了
// 此处不能添加js代码
</script>
复制代码
<script>
console.log('hello world'); // 控制台输出
alert('hello world'); // 提示框输出
</script>
复制代码
document.write('hello world');
复制代码
console.log('hello world');
复制代码
alert('hello world');
复制代码
做用: 用来给变量、函数等命名浏览器
规则:bash
由字母、数字、下划线、$组成cookie
不能以数字开头网络
不能使JavaScript中的关键字和保留字app
保留字: 函数
区分大小写ui
遵循驼峰命名原则
见名知意
基本数据类型
数字(Number)
字符串(String)
特色:
布尔值(Boolean)
包括 true 和 false,经常使用在判断语句
falsy值:
console.log(new Boolean()); // false
console.log(new Boolean(0)); // false
console.log(new Boolean(null)); // false
console.log(new Boolean("")); // false
console.log(new Boolean(false)); // false
console.log(new Boolean(NaN)); // false
复制代码
truthy值: 除了falsy值就是truthy
console.log(new Boolean(1)); // true
console.log(new Boolean(true)); // true
console.log(new Boolean('true')); // true
console.log(new Boolean('false')); // true
console.log(new Boolean('Bill Gates')); // true
复制代码
Undefined
声明但未初始化的变量会获得undefined
var a;
console.log(a); // undefined
复制代码
Null
一个没有任何引用的空对象
var a = null;
console.log(typeof a); // object
复制代码
Symbol
凡是属性名属于 Symbol 类型,就都是独一无二的,能够保证不会与其余属性名产生冲突
let a = Symbol('a');
let b = Symbol('a');
typeof s; // Symbol
console.log(a === b); // false
复制代码
非基本数据类型
typeof + 变量名
typeof 不能正确判断引用数据类型,如数组:
typeof [] => 'Object'
复制代码
变量名 + instanceof String/Number/Boolean/Object/Array/Function
instanceof 不能判断 null 和 undefined(报错), 以及用字面量方式建立的 基本数据类型(必须用new 关键字去建立基本数据类型)
'1' instanceof String // false
new String('1') instanceof String // true
复制代码
变量名 + .constructor === String/Number/Boolean/Array/Function/Object
constructor 不能判断 null 和 undefined(报错), 下面这种状况也不能正确判断
function Fn(){};
Fn.prototype=new Array();
var f=new Fn();
console.log(f.constructor===Fn); // false
console.log(f.constructor===Array); // true
复制代码
Object.prototype.toString.call(变量名) === '[object String/Number/Array/Date/Function/Object]'
判断数据类型最可靠的方法
var a = Object.prototype.toString;
console.log(a.call("aaa")); // [object String]
console.log(a.call(1)); // [object Number]
console.log(a.call(true)); // [object Boolean]
console.log(a.call(null)); // [object Null]
console.log(a.call(undefined)); // [object Undefined]
console.log(a.call([])); // [object Array]
console.log(a.call(function() {})); // [object Function]
console.log(a.call({})); // [object Object]
复制代码
变量
常量