JavaScript基础

JavaScript基础

JavaScript组成

ECMAScript:解释器,翻译

DOM:Document Object Model

BOM:Browser Object Model

各组成部分兼容性,兼容性由来

ECMAScript:翻译 解释器(JavaScript核心)

DOM:Document Object Model(文档对象模型)

​ 对象:HTML

​ DOM实际上赋予了操作HTML的能力

BOM:Browser Object Model(浏览器对象模型)

​ 对象:window

​ BOM实际上赋予了对window操作的能力

各组成部分兼容性,兼容性由来

​ ECMA 几乎没有兼容性问题

​ DOM 有一些操作不兼容

​ BOM 没有兼容问题(完全不兼容,几乎不去用)

变量类型(1)

var a = 12;			//一个数字变量
var b = "awsdasd";	//一个字符串变量
var c = true;		//一个布尔变量
var d = function();	//一个函数变量
var e = document;	//一个对象变量

直接看到变量类型

alert(typeof a);//返回number,表示变量存了一个数字
alert(typeof b);//返回string,表示变量存了一个字符串
alert(typeof c);//返回boolean,表示变量存了一个布尔值
alert(typeof d);//返回function,表示变量存了一个函数
alert(typeof e);//返回object,表示变量存了一个对象
alert(typeof x);//返回undefined,表示未定义变量

*变量本身没有类型,它的类型取自于变量里存的内容。一个变量应该只存放一种类型的值

变量类型转换

/*显式类型转换(强制类型转换)*/
var a = '12';
var b = '3.4';
alert(parseInt(a));		//字符转数字,从左到右扫描,一旦扫描到不是数字的字符则立即返回。没有数字时返回NaN(Not a Number)
alert(parseFloat(a)); 	//字符转小数,如果不知道转换的数字是整数还是小数,就直接用parseFloat

JS中有个特性,NaN != NaN

alert(isNaN(a));		//检测结果是否是数字,返回true或false
/*隐式类型转换*/
/*例1*/
var a = 5;
var b = '5';
alert(a==b);	//返回true,先把a和b都转换成相同的类型,再进行比较
alert(a===b);	//返回false,不转换类型直接比较
/*例2*/
var a = '12';
var b = '5';
alert(a+b);		//返回125,字符串连接(+可做数字相加和字符串连接,计算机选择轻松的字符串相加)
alert(a-b);		//返回7,自动转换后进行减法(-只有数字相减功能)

变量作用域和闭包

作用域
var a;		//全局变量
function aa(){
    a=12;
    b=12;	//局部变量
}
function bb(){
    alert(a);
}
闭包

​ 简单来说就是函数嵌套,父函数可以使用子函数。

命名规范(1)

  • 命名规范及必要性

    • 可读性
    • 规范性
  • 匈牙利命名法

    • 类型前缀
    • 首字母大写
javascript 变量命名类型 变量命名前缀
array 数组 a
boolean 布尔值 b
float 浮点数 l
function 函数 fn
int 整型 i
object 对象 o
regular 正则 r
string 字符串 s

运算符

​ 算数:+, - , * , / , %取模

​ 赋值:= , += , -= , *= , /= , %=

​ 关系:< , > , <= , >= , == , === , != , !==

​ 逻辑:&& , || , !

​ 运算符优先级:括号

  • %取模实例:隔行变色:
window.onload=function()
			{
				var aLi=document.getElementsByTagName('li');
				for(var i=0;i<aLi.length;i++)
                 {
                     if(i%2==0)
					{
						aLi[i].style.background='#CCC';
					}
					else
					{
						aLi[i].style.background='';
					}
                 }
			}
  • %取模实例:秒转时间:
var s=368
alert(parseInt(s/60) + '分'+ s%60 + '秒')		//6分8秒

程序流程控制

​ 判断:if,switch,?:(三目运算符)

​ 循环:while,for

​ 跳出:break(打破,中断整个循环),continue(中断本次循环,继续)

​ 真假:true(非零整数,非空字符串,非空对象),false(数字零,空字符串,空对象,undefined)

Json

什么是Json?

JSON它是基于JavaScript的一个子集,用于描述JS里面的数据

Json和数组

Json的下标是个字符串,数组的下标是个数字

Json和for in

Json循环的话不能像数组那样取数组长度进行循环,而for in循环能够解决Json的下标问题

原文地址:https://www.cnblogs.com/potatolulu/p/12952386.html