1、JavaScript组成
(1)ECMAScript的概念
翻译:其为javascript的核心
(2)DOM对象
Document Object Model——针对HTML而言 document对象
(3)BOM对象
Brower Object Model ——针对浏览器而言 window
在浏览器兼容方面在区别:
ECMA——几乎没有浏览器兼容的问题
DOM——有一些操作不兼容
BOM——没有兼容问题(完全不兼容)
(一般不采用BOM对象的使用)
2、变量类型1——typeof运算符
用法:返回值
意义:一个变量应该只存在一种类型的数据
常见的数字类型(6种):number、string、bollean、undefined、object、function
(例如:如果输入变量a=docuemnt,弹出object类型,用于表示对象)
3、变量类型2——parseInt、parseFloat
知识点1:显示类型转换(强制转换)
(1)字符串转换为数字类型;
var a='12';
alert(parseInt(a)+1);
结果返回了13;
在此基础上,将a="12px",其结果为12。
注意——parseInt原理:从左向右依次查找,若不是非数字,则立即跳出当前的转换。
parseInt其主要转换的为整数。
(2)字符串转换为小数的浮点类型;
var a='12.5';
alert(parseFloat(a)+1);
(3)NaN ——Not a Number
检测变量的类型——采用isNaN()方法
其主要判断是否存在该数字类型,
采用的函数判断方法为isNaN(),返回的为boolean布尔类型;
例如(判断是否存在a)
var a='12';
alert(isNaN(a)); //结果返回为true;
知识点2:隐式类型转换
(1)类型转换——“==”和“===”
即先把之前的类型转换为相同的类型;
var a=5;
var b='5';
alert(a==b); //返回true,先转换类型,再比较;
alert(a===b); //返回false,不做转换,直接比较。
(2)减法运算的使用
原理:一步可以完成,仅有数字的减法;
(3)加法运算
原理:字符串连接,以及数字加法;
3、作用域(作用范围)和闭包的概念
(1)作用域分为两种:局部变量,全局变量。
var b; //在这里b为函数之外的,即全局变量,整个函数都可以使用;
function add(){
var a; //表示局部变量,仅仅在定义的函数中使用;
}
(2)闭包的概念
定义:子函数可以使用复函数中的局部变量;
代码案例——
function aaa(){
var a=12; //此时的作为父函数的全局变量,可在整个函数中使用;
function bbb(){
//第一种情况;
alert(a); //输出12;
//第二种情况;
var b=2; //此时的b作为一个局部变量,仅在该子函数中可以使用。
b=b+2;
alert(b); //输出14;
}
bbb();
}
4、命名规范
(1)实现可读性——能看懂,
规范性——符合规则。
(2)匈牙利命名法两大原则——
a.首字母大写;
(JS函数中,仅仅表示命名变量时,一般首字母大写;函数除外)
b.类型前缀
(例如a开头:数组Array o开头:object对象 i开头:存的数字 s开头:表示字符串);