**Javascript 脚本编程语言 三大模块**
一.ECMAScript es js的核心,js的语法规范,数据类型,语法操作,都是es来设定的; js的核心内容都是基于es来编写的
二.BOM browser object model 浏览器操作对象;用来设置获取操作浏览器的行为
三.DOM: document object model 文档对象类型获取js元素属性;
1.ECMAScript 中的变量和常量,可变的是变量,不可变的是常量;
var 变量名 = 值 /es3-es5 创建的语法;变量仅仅只是一个名字,没有本身的意思,它真正的意义只是存储的值;
let 变量名 = 值 es6创建js 变量 可修改
const 变量名 = 值 es6创建js 常量 修改后报错
变量命名规范:
1)严格区分大小写,建议用数字,字符,_ 来命名,但是数字不能开头命名
var n2m = 值
2)驼峰命令法,从第二个首字符大写
3)关键字,保留字不能用于变量中;js中有特殊意义的(关键字)未来可能会用于关键字的(保留字);
关键字:break if else case watch default do finally
保留字:import const static float char class
**页面常用输入方式:**
console.log
console.write 输出的是字符串;
confirm 输出的是字符串;confirm 确定 取消
prompt 输出的是字符串; prompt 增加输入内容框
alert 输出的是字符串;
**js中的数据类型:**
基本数据类型(值类型):string,number,boolean,null,undefined,
引用数据类型(对象类型):Function,Object(object,regexp,Array,Number,String)
值类型:
1)number类型
NaN: not a number;NaN != NaN ;NaN和任何类型都不相等;
isNaN: 检测它是不是一个有效数字,在检测类型不是number,先把内容转化为number类型(Number(值)),在进行检测;
isNaN(ZIFU) ==true
isNaN('12') == false
isNaN(true) == false
Number(‘’12px‘’)== NaN
Number (null) = 0 定义false的都是0
Number(true)=1
Number(false) =0
Number(undefined)=NaN 不是数字类型
Number({})=NaN
Number('')=0
Number(' ')=0
parseInt:转化为整数;parseInt(‘12px’)
parseFloat:保留小数
2)boolean类型:
!的使用:!‘’ 先把后面的类型转化为boolean类型,在取反;
!!把其他类型转化为boolean类型;只有 ‘’,0,null,undefined,NaN 只有这5个之外,!!转换boolean为false,其余为true; 如同Boolean()
3)string类型: 所有用 单引号,双引号包含的都是字符串,不管里边是什么,都是字符串
length属性:获取字符串里面有多少个字符,长度;str.length-1 获取最后一个字符
chartAt:charAt(index)返回字符串指定索引位置的字符;
indexOf:indexof(value)返回指定字符在字符串中首次出现的索引位置;
4)null :空(空对象指针)现在没有,但是以后会有
5)undefined:未定义 不可能存在的情况;
对象类型:增,删,改,查
1)object:一个对象由属性和值组成;属性就是描述这个对象的特征,特点;
1.对象由多个键值对组成(key,value),
2.获取对象属性:obj.name 也可以用obj[‘name’] name: 如果不加单引号获取的是变量
3.一个对象中的属性名不能重复的,只能存在一个属性名;
4.删除对象属性的两种方法: obj.name = null; delete obj.name
**JavaScript中数据类型检测**
typeof instanceof construction Object.prototype.toString.call()
1)typeof:用来检测数据类型逻辑运算符
typeof null = 'object' typeof undefined = 'undefined' typeof '[]' = 'object'
typeof 不能具体检测出数据类型
2)instanceof:检测某个实例是否属于这个类;
3)construction:通过构造函数检测
4)Object.prototype.toString.call() 借用object基本原型上的tostring方法,在执行这个方法的时候,让方法中的this指向需要检测的值中,从获取都当前值所属的类,从而检测对应的数据类型;
**基本数据类型和引用数据类型的区别**
当浏览器加载页面的时候,会给js提供一个运行的环境,我们把这个环境成为window/后台为global;
基本数据类型:按值操作,直接给变量赋值;变量之间不存在任何关系;
对象数据类型:
所有的引用类型 Object,function赋值操作:
1)创建一个新的变量 var obj
2)开辟一个内存空间,空间里面有一个十六进制地址,依次把我们的键值对存入到内存中,生成一个地址;
3)然后把我们内存地址赋值给我们的变量,对象数据类型不是按值赋值的,而是按“”“引用地址”进行赋值;
打开App,阅读手记