JS基础知识简介

使用js的三种方式
1、HTML标签内嵌js
<button onclick="javascript:alert(真点啊)">有本事点我</button>
不提倡使用
2、HTML页面中直接使用js
<script type="text/javascript">
js代码
</script>
3、引用外部js文件
<script language="JavaScript" src="js文件路径">
 
</script>
【注意事项】
1、页面中js代码和引用js代码可以嵌入到HTML页面任何位置。但是,位置不同会影响到js代码的执行顺序(script标签在body前面,会在页面加载前执行js代码)
2、页面中js代码,使用<script language="JavaScript" src="js文件路径"></script>
3、引用外部js文件的script标签必须成对出现,且标签内部不能有任何代码
 
【js中的变量】
* 1、js中的变量声明的写法:
* var width = 10;//使用var声明的变量,只在当前函数作用域生效
* width = 10;//不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* var a,b,c=1;同时声明多个变量,变量之间用英文逗号分隔。但赋值需要单独赋,例如上式中只有c赋值为1,ab为undefined(未定义说明这是一个变量)
* 【声明变量注意事项】
* ①js所有变量类型声明,均使用var关键字。变量的具体数据类型,取决于给变量赋值的执行
* ②同一变量可以在多次不同赋值时,修改变量的数据类型
* var width = 10;//width 位整形变量
* width="哈哈";//width被改为字符串类型
* ③使用var声明的变量,只在当前函数作用域生效,不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* ④同一变量名可以多次用var声明,但是并没有任何含义,也不会报错,第二次之后的声明只会被理解为赋值
* 2、变量的命名规范
* ①变量名只能由字母数字下划线和$符号组成
* ②开头不能是数字
* ③变量区分大写小写,大写字母与小写字母为不同变量
*
* 3、变量名命名要符合驼峰法则:
* 变量开头为小写,之后每个单词首字母大写;
* 4、JS中的变量的数据类型
* undefned:未定义,用var声明的变量没有进行初始化赋值 var a;
* null:代表特殊的变量类型,表示空的引用。例如:空的对象,数组,
* boolean;真假,可选值ture/false
* number:数值类型。可以是小数,也可以是整数
* strig:字符串类型。用""或''包裹的内容,成为字符串
* 5、常用的数值函数
* ①isNaN:用于判断一个变量或常量是否为NaN(非数值)
* 使用isNaN,会尝试使用Number()函数进行转换,如果能转换为数字,则不是非数值,结果为false
* "111"纯数字字符串,false "" 空字符串, false "1a" 包含其他字符 ture
* ture/false布尔类型,false
* ②Number()将其他类型转化为数值类型
* 【字符串类型转数值】
* >>>字符串为纯数字字符串,转为对应数字
* >>>字符串为空字符串时转为0
* >>>字符串包含其他非数字字符时,不能转换 "11a"->NAN
* 【boolean】
* true->1 fales->0
* 【null 和 undefined】
* null ->0 undefined->NAN
* 【object】
* 先调用valueof方法,确定函数是否有返回值,再根据上述情况判断。
*/
 
/*
* document.write()
* 输出语句,将write()中的内容打印在浏览器上
*
*
* 使用注意:除变量、常量以外的任何内容,打印室必须放到""中
* document.write("右手中纸牌:"+right+"<br />"+"<br />");
* 打印的内容同时由多部分组成,之间用+连接
*
* parseINT:将字符串转换为数值
* >>>空字符串,不能转,结果NAN
* >>>纯数值字符串,能转。"123"->123 "123.5"->123(小数转换时直接抹掉小数,不四舍五入)
* >>>包含其他字符的字符串。会截取第一个非数值字符的前面部分 "123a456"->123 "a123b456"->NAN
* parseint只能转string类型,Boolean/null/undefined 均为NaN
*
* parsefloat:将字符串转为数字:使用方式同parseint 但是当转换小数字符串时,保留小数点,转换整数字符串时,保留整数。
*
*
* typeof用来检测变量数据类型
* 未定义>undefined 字符串->string true/false->boolean
* 数值->number 对象/null->object 函数->function
 
 
算术运算
+ 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减
+:有两种作用,链接字符串/加法运算;当+两边均为数字时,进行加法运算,当+两边有任意一边为字符串时,进行字符串连接,连接之后的结果仍为字符串
++:自加运算符,将变量在原有基础上加一
--:自减运算符,将变量在原有基础上减一
 
赋值运算
=赋值 += -= *= /= %=
 
+=:a+=5;相当于a=a+5;但是,前者的执行效率要比后者快
关系运算
==等于、===严格等于 !=不等于、>、<、>=、<=
 
===:严格等于:类型不同,false;类型相同,再进行下一步判断;
==:等于,在类型相同时,同===,在类型不同时,尝试将等式两边用number函数转为数字再判断;
null==undefined√ null===undefined×
 
条件运算符(多目运算)
a>b?true:false
 
可以多层嵌套
有两个关键符号?和:
当问号前面的部分运算结果为true时,执行:前面的代码,当问号前面的部分运算结果为false时,执行:后面的代码
 
逻辑运算符
&&与、||或、!非
 
 
[运算符优先级]
()
! ++ --
% / *
+ -
> < >= <=
== !=
&&
||
各种赋值 = += *= /= %=
 
*/
 
/*【n++与++n】
* n++先使用n的值计算,再把n+1
* ++n先把n的值加一,然后再用n+1之后的值计算;
* 相同点:不论n++还是++n在执行完代码后均会把n加一
 
注意:
2、if()中的表达式,运算之后的结果为:
①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
3、else结构可以根据条件省略;
 
JS中的循环结构
 
【循环结构的步骤】
* ①声明循环变量
* ②判断循环条件
* ③执行循环体
* ④更新循环变量
*
* 【JS循环条件支持的数据类型】
* ①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
 
var n = 1;//声明循环变量
while (n<=10){//判断循环条件
document.write("打印<br/>");//执行循环体
n+=2;//更新循环变量
}
 
 
do while循环特点,先执行后判断,至少执行一次
 
【for循环】
1、for循环有三个表达式:①定义循环变量②判断循环条件③更新循环变量‘三个表达式均可省略,两个;缺一不可。
2、for循环特点:先判断再执行
3、for循环三个表达式之间均可以由多部分组成,之间用逗号分隔,但是第二部分判断条件用&&连接,最终结果需要为真/假
 
 
 
函数

[函数的声明及调用]

1、>>>函数声明的格式:
function 函数名(参数1,参数2,……){
// 函数体
return 结果;
}

>>>函数调用的格式:
直接调用:函数名(参数1的值,参数2的值,……);
事件调用:事件名=函数名();

2、函数声明的几点强调:
① 函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
② 参数列表,可以有参数,可以无参数。分别称为有参函数,无参函数;
③ 声明函数时的参数列表,称为“形参列表”(变量的名);
调用函数时的参数列表,称为“实参列表”(变量的值);
函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为Undefined;
④ 函数如果需要返回值,可用return返回结果。
调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
如果函数没有返回值,则接受的结果为Undefined。

⑤ 函数中变量的作用域:
在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容能用;
不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后,才能使用)。
函数的形参列表,为函数局部变量,只在函数内部能用;

⑥ 函数声明与函数调用,没有先后之分。即,调用语句可写在声明语句之前。

 

JS操作BOM

重点【window对象的常用方法】
* >>>window对象中所有方法均可以省略前面的window. 比如close();
* 1、prompt:弹窗接受用户输入:
* 2、alert:弹窗提示
* 3、confirm:带有确认取消按钮的提示框
* 4、close:关闭当前浏览器选项卡
* 5、open:重新打开一个窗口
* 6、settimeout设置延时执行
* 7、setinterval:设置定时器,循环每隔N个毫秒数执行一次
* 两个参数:需要执行的function / 毫秒数
*
* 8、cleartimeout:清除延时
* 9、clearinterval:清除定时器
* 传入参数:调用setInterval时返回一个ID,通过变量接收ID,传入clearInterval;

 

 
 
 
 
 
posted @ 2017-04-16 21:00  阿呆啊-  阅读(159)  评论(0编辑  收藏  举报