JavaScript基础(变量,运算符,函数、匿名函数声明,全局变量局部变量,函数重载问题)
javas它是网警公司开发的一个产品语言,和java是没有任何关系的。
在html页面引入JS的三种方式:
- 引入js语法格式1:在script标签内部写js代码
<script type="text/javascript">
alert(1);
</script>`
- 引入js语法格式2:使用外链接的方式 src:引入链接文件地址
<script type="text/javascript" src="js/index.js"></script>
- 引入js语法格式3: 在html代码中可以嵌套js代码
<a href="#" onclick="alert(3)">点我啊</a>
使用js注意事项:
- 使用script标签的时候,必须使用双标签,不能使用单标签
不推荐使用:
`<a href="#" onclick="alert(3)">点我啊</a>`
不推荐的原因:
1.它会修改你当前url地址
2.它会跳转到当前页面的最顶部
推荐使用的语法格式:
<a href="javascript:void(0);" onclick="alert(3)">点我啊</a>
或者使用简写
<a href="javascript:;" onclick="alert(3)">点我啊</a> 这种方式是上面方式的简写
-->
写法
<!--href="javascript:void(0);":我当前a标签不再超链接到一个新的界面,而是作为JS触发源而存在-->
变量
在js中变量用var来声明
在js中只要是数字类型,打印出来都是number
在js中也有Object类型,Object类是所有类的基类
var obj = new Object();
console.debug(obj,typeof obj);//{} object
注意:在js中对象都是以{}展示的
运算符
基本运算符: + - * / (在js中字符串在进行运算的时候- * / %会转为对应的数字进行运算)
console.debug(2+"3");//结果为5
而+,都是在做拼接
字符串和任意数据类型相+都是在做拼接
在JS中认为false的值有6个: 0 null “” undefined NaN(不是一个数字) false
其它值全部为true
逻辑运算符
&&: false为短路,使用js运算的时候,要么返回第一个为false的值,要么返回最后一个值
||: true为短路,使用js运算的时候,要么返回第一个为true的值,要么返回最后一个值
比较运算符
==:相对等,只比较值,不比较类型
===: 绝对等,不仅仅要比较值,还要比较类型
逻辑非运算符
! 得到的结果值 要么为true,要么为false
//判断是否是一个数字的函数 isNaN 不是一个数字返回true,是一个数字返回false
console.debug(isNaN(e-f));
js声明函数
/*
* 在js中函数就相当于我们java中的方法
* 函数申明的语法格式:
* function 函数名([形参列表]){
* 函数体
* [return 返回结果值];
* }
*/
function show(){
console.debug("show show show show...");
}
//调用函数
show();
//申明函数,并且有参数
function showParam(param1,param2){
console.debug("show show show 参数1:"+param1+" 参数2:"+param2);
}
showParam("王天霸","张根锁");
//申明函数,并且返回结果值
function returnValue(){
return "李很弱";
}
//返回结果值,申明变量接收函数返回过来的 结果值
var value = returnValue();
console.debug("返回过来的结果值:"+value);
匿名函数
/*什么叫做匿名函数:简单理解,没有名字的函数就叫做匿名函数*/
var fun = function(){
console.debug("show show show");
}
//注意:匿名函数需要一个变量名来接收
/*
var fun = function(){
console.debug("show show show");
}
就相当于
function fun(){
}
*/
fun();
全局变量和局部变量
在js中全局变量和局部变量:
* 全局变量: 在函数之外申明的变量或者在函数内部申明变量没有加var的都是全局变量
* 局部变量:在函数内部申明了变量并且有加var申明的都是局部变量
函数重载问题
在js中函数是没有重载的,当在js中存在多个函数名相同的函数,
* 它永远只会执行最后一个函数,前面的函数都不会执行
* 函数调用的注意事项: 调用函数是和函数参数没有任何关系的,当你调用
* 函数的时候,如果没有传递参数,接收方的参数都是以undefined进行展示
上一篇: 变量提升与匿名函数
下一篇: 匿名函数如何继承变量