js初学
JavaScript是一种专为与网页交互而设计的脚本语言, 具有较强的逻辑性.
什么是程序?
: 一组有序的指令(代码),就是程序
JavaScript由三部分组成:
1. 核心(ECMAScript)(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association);通过ECMA-262标准化的脚本程序设计语言。
2. 浏览器对象模型(BOM):提供与浏览器交互的方法和接口
3. 文档对象模型(DOM):提供访问和操作网页HTML内容的方法和接口;
页面的简单渲染过程
// 打开页面, 页面的标签,和css进行解析
// 在解析 html标签的过程中,如果遇到了js,将暂停html的渲染,
// 执行js ,js的阻塞 ,js没有执行完,后面的html,css 都不执行
// 核心原因:js是单线程
//正是因为 js的阻塞,就推出了2个属性 (都解决阻塞)
// async 等页面加载完成后,js立即执行
// defer 等页面加载完成后,js有顺序执行
//1.如果script上面有 src,将不会执行 script里的代码,而是执行外部引用的代码
//2.script的type默认是 text/javascript,可以不写,要写就一定要写对
//声明变量,必须使用 var关键字
var age; //没有赋值,它的默认值是 undefined (重点)
//变量声明的细节 (重点)
//1. 声明变量,必须使用 var关键字
//2. 声明变量,未赋值的默认初始值 undefined
//3. 建议声明变量,并赋予初始值
//4. 声明变量后的值,可以随时随意被修改(因为js属于弱类型语言)
eg: var age = 20;
console.log(age);
age = '贰拾'; //把数值改成了字符串(一组双引号或单引号组成)
console.log(age);
//变量命名规则 (重点)
//1.只能是数字,字母,下划线_,$
//2.不能以数字开头
//3.不能是保留字,关键字
//4.严格区分大小写
//5.遵循驼峰命名法
// 1).小驼峰
// 变量,实例对象
// 2).大驼峰
// 类,构造函数
//6.语义化(见名知意)
//var: 关键字
// SyntaxError: 语法错误
// var myname="abc";
var var1 = "abc123";
console.log(var1);
js的数据类型
// js在ECMA5之前,只有6大数据类型
//1. 数值类型 (Number)
//2. 字符串类型 (String) 一组双引号或单引号组成
//3. 布尔类型 (Boolean) 它的值只有2个 true/false (真/假)
//4. null 空地址
//5. undefined 未定义类型,默认是undefined
//6. object 类型
//把六大数据类型分成2类
//1. 值类型 (Number,String,Boolean,undefined,null)
//2. 引用类型 (Object Array ,Function,Date,...)
如何检测基本数据类型,使用 typeof (重点)
字符串类型 由一组双引号或单引号组成的,就是字符串
Boolean 布尔类型 (真/假) (true/false)
undefined 未定义,申明变量未赋予初始值,默认是undefined
object 对象类型
.js的类型转化(重点)
转boolean
字符串转boolean
1. String: 非空字符串为true, 空字符串为false
数值转boolean
2. Number: 非0数值为true, 0或者NaN为false
对象转boolean:
3. Object: 对象不为null则为true, null为false
4. Undefined: undefined为false
5.null和undefined 转换成bool,始终是false
转数值:
Int 整型
Float 浮点类型 0.1
1.parseInt 和 parseFloat, 在字符串里能转换必须数值开头
2. 使用Number()方法,空字符串和null都是0
3. bool转数值 true 为1,fasle 为0
4. null,undefined 转数值 为NaN
obj转数值 为NaN
js的2个特殊类型:null和underfine
undefined : 在声明变量的是,未赋予初始值,就是undefined
Null: 它也是一个特殊的类,指向是空地址;
注意:null和undefined是什么关系?
派生关系 null派生了undefined.
Boolean类型 它的值只有2中, true和fasle
Number类型 数值类型,它有一个特殊的值 NaN(NaN not a number 是否不是一个数值) 用isNaN 来判断是否为一个数值,只要是fasle,就认为是数值
Infinity 无穷大
//number的最大值 (了解)
console.log(Number.MAX_VALUE); // 1后面308个0
//number的最小值 (了解)
console.log(Number.MIN_VALUE);
name是window对象上的一个默认属性 ,不建议使用name