前言:
目前咱们对“js变量的值”都比较关心,各位老铁们都需要了解一些“js变量的值”的相关文章。那么小编在网摘上汇集了一些关于“js变量的值””的相关内容,希望咱们能喜欢,姐妹们快快来学习一下吧!javascript变量作用域: 全局变量作用域包含函数库
JavaScript 变量名称的规则:
变量对大小写敏感(y 和 Y 是两个不同的变量)
变量名不能以数字开头
变量重新赋值时,没必要再使用var初使变量,否则程序不能正常运行
变量名可以使用大小写英文字母、数字、下划线(_)、美元符号($)组成
数据类型:
基本数据类型:
Number型 包含整数型和浮点型, NaN、Infinity也是Number型;
var myDataA=8;
var myDataB=6.3;
var str = "sujguguugu";
alert(typeof Number(str)); //number typeof(Number(str)) 有两个系统函数
String型
var nameA="Tom";
var nameB='Tom';
若字符串本身有双引号,就应该用单引号将字符串引起来;若字符串本身有单引号,就应该用双引号将字符串引起来;
var score = "run time 3\'15\""; // "\"可以不要 等同于下面的例子
var score = "run time 3'15\"";
Boolean型
var bChooseA=true;
var bChooseB=false;
true: 非零数字、非空字符串、非空对象(如:document)
false:数字零、空字符串、空对象(null)、undefined、NaN(Number转换过来的);
var oObject = document;
if(oObject){
alert("真的");
}else{
alert("假的");
}
输出结果:真的
Undefined型
var name;
变量声明未赋值就是undefined型
Function型
var myFunction = new Function{
statements;
};
Null型
当一个变量没有保存有效的数据时或对象不存在时, 都将返回null。
数据类型null只有一个值"null"。
可以通过给一个变量赋 null 值来清除变量的内容。
提示:为什么null的类型是object了呢? 其实这是JavaScript最初实现的一个错误, 后来被ECMAScript沿用下来。
在今天我们可以解释为, null是一个不存在的对象的占位符。
var score = prompt("请输入您的分数");
var str ;
if(score == ""){
//用户没有填写数据 直接点击了确定按钮
str = "您没有填写数据,请重新填写!";
}else if(score == null){
//用户直接点击了取消按钮
str = "您点击了取消按钮,请重新填写!";
}else{
//代表用户已经填写了相应的数据 但是这个数据不一定合法? 1-100之间
//先将获取到的数据转换为数值型数据
//用户是不是可以输入 1-100以外其它数值数据
var fenshu = Number(score);
if(fenshu >=0 && fenshu <=100 ){
if(fenshu >=90){
str = "优秀";
}else if(fenshu >=80){
str = "良好";
}else if(fenshu >=70){
str ="中等";
}else if(fenshu >=60){
str ="及格";
}else{
str ="您还需要再努力";
}
}else{
str ="用户输入的数据不合法!";
}
}
alert(str);
Null值的来源:
1 window.prompt()
输入提示框点击取消按钮, 则返回NULL;
2 String.matct(SearchValue/regExp):
如果没有找到字符串, 则返回Null;
3 RegExpObject.exec(string)
如果没有找到匹配, 则返回Null;
组合类型:
Array型
var score = [56,34,34,76,45];
var score = [56,34,"34",76,"45"];
var score = Array(56,34,"34",76,"45");
var m = score[3];
var aColor = new Array(); //可以不声明数组的数量
aColor[0]="blue";
aColor[1]="yellow";
数组的长度
var length = score.length;
Object型
document.bgcolor
document.write("Wecome to Javascript world!");
alert(typeof null) //object null属于对象类型
运算符
赋值运算符
"="、"+="、"-="、"*="、"/="、"%="、"&="、"^="等
基本数学运算符
"+"、"-"、"*"、"/"和"%"等
<HTML>
<HEAD>
<SCRIPT LANGUAGE = "JavaScript">
var x=100;
var y;
var z;
document.write("<H2>竞拍SONY数码相机 600万像素" +x+"$起价</H2>");
y=prompt("加多少银子?","1");
z=x+parseFloat( y );
alert("您最终的出价\n"+z+"$"); //”\n”用于换行显示
</SCRIPT>
</HEAD>
<body>
</body>
</HTML>
parseFloat( )函数将字符串转换为float数据
parseInt( )函数将字符串转换为int数据
如果转换失败, 返回NaN值(not a number)
toExponential()方法将数值转换为科学计数法
var fNumber = 895.4;
alert(fNumber.toExponential(1)); //9.0e+2 小数位为1位
alert(fNumber.toExponential(2)); //8.95e+2 小数位为2位
console.log(10/0); //Infinity infinity: 无穷大
console.log(-10/0); //-Infinity
console.log(0/0); //NaN
console.log("彭纪涵"/"许宸恺"); //NaN
console.log(parseInt(-0.232)); //0
console.log(parseInt(true)); //NaN
console.log(parseFloat("商品的价格: 23.05")) //NaN
console.log(parseFloat("23.05元")) //23.05
<script type="text/javascript">
var num = parseInt(prompt("请输入天数"));
//今天是星期一
var weekdate = (num%7 + 1) % 7;
alert(num+"天后星期:"+weekdate)
console.log(num+"天后星期:"+weekdate)
</script>
位运算符
"&"、"|"、"^"和"~"等
位移运算符
"<<"、">>"和">>>"等
& 只有参加运算的两位都为1, 运算的结果才为1, 否则为0.
| 只有参加运算的两位都为0, 运算的结果才为0, 否则为1.
^ 只有参加运算的两位不同, 运算的结果才为1, 否则为0.
自加和自减
自加运算符为"++"和自减运算符为"--"分别将操作数加1或减1。
运算符写在变量前面,则返回值为自加或自减后的值;
而写在后面,则返回值为自加或自减前的值。
给定 y=5
var x=++y x=6
var x=--y x=4
比较运算符
"=="、"!="、">"、"<"、"<="、">="、"==="等
console.log(1==1);//true
console.log("梁永灿"=="梁永灿");//true
console.log(true==true);//true
console.log(null==null);//true
console.log(undefined==undefined);//true
console.log(Infinity==Infinity);//true
console.log(Infinity==-Infinity);//false
console.log(NaN==NaN);//false
console.log(undefined==null);//true
逻辑运算符
"&&"、"||"和"!"等
逻辑运算符用于测定变量或值之间的逻辑。
给定 x=6 以及 y=3,下表解释了逻辑运算符:
用于两个逻辑型数据之间的操作,返回值的数据类型为布尔型
&& and (x < 10 && y > 1) 为 true
|| or (x==5 || y==5) 为 false
! not !(x==y) 为 true
&&和||(讨论两个操作数不都是布尔值的情况)
&&:
如果第一个操作数是对象(变量), 那么返回第二个操作数
如果第二个操作数是对象(变量), 只有在第一个操作数为true的情况下才会返回该对象
如果两个操作数都是对象(变量), 那么返回第二个操作数
在一个操作数是对象(变量)或true下, 如果有一个操作数是null, 那么返回null
在一个操作数是对象(变量)或true下, 如果有一个操作数是NaN, 那么返回NaN
在一个操作数是对象(变量)或true下, 如果有一个操作数是undefined, 那么返回undefined
||:
如果第一个操作数是对象(变量), 那么返回第一个操作数
如果第一个操作数的求值结果为false, 那么返回第二个操作数
如果两个操作数都是对象(变量), 那么返回第一个操作数
如果两个操作数都是null, 那么返回null
如果两个操作数都是NaN, 那么返回NaN
如果两个操作数都是undefined, 那么返回undefined
var name='tom';
var age = 23;
var addr = "beijing";
var ismarried = false;
//返回操作数之一
console.log(name && age); //23
console.log(name || age); //tom
console.log(age && name); //tom
console.log(age || name); //23
console.log(ismarried && addr); //false
console.log(true && age); //23
console.log(false && age); //false
console.log(true || age); //true
console.log(false || age); //23
console.log(age && true); // true
console.log(age || true); //23
console.log(age && false); //false
console.log(age || false); //23
var a = 5;
var b = 0;
var c = true;
console.log(a && b); //0
console.log(a || b); //5
console.log(a || c); //true
console.log(a && c); //5
console.log(b && c); //0
console.log(a || c); //true
以上逻辑运算符进行运算时不会对0、1、true、false进行转换
结论:
只要"&&"前面是false, 无论"&&"后面是true还是false, 结果都将返"&&"前面的值;
只要"&&"前面是true, 无论"&&"后面是true还是false, 结果都将返"&&"后面的值;
只要"||"前面为false, 无论"||"后面是true还是false, 结果都返回"||"后面的值;
只要"||"前面为true, 无论"||"后面是true还是false, 结果都返回"||"前面的值;
逗号运算符
用逗号运算符可以在一条语句中执行多个运算。
var iNum1 = 1, iNum = 2, iNum3 = 3;
可使用逗号","将多个语句连在一起,浏览器载入该代码时,将其作为一个完整的语句来调用,但语句的返回值是最右边的语句。
dataA=(dataB=1,dataC=2,dataD=20);
document.write(dataA); //20
dataA的值为20,也就是dataA 值等于dataD
空运算符
空运算符对应的关键字为"void",其作用是定义一个表达式,但该表达式并不返回任何值。
dataA=void(dataB=1,dataC=2,dataD=3);
document.write(dataA); //undefined
dataA的值为undefined
条件运算符(三目运算符)
variablename=(condition)?value1:value2;
变量 = 布尔表达式? 语句1:语句2;
例如: y = x >0 ? x : -x;
(age<18)?alert(contentA):alert(contentB);
对象运算符
JavaScript脚本语言主要支持四种对象运算符,包括点号运算符、new运算符、delete运算符以及()运算符等。
var myColor = document.bgColor;
window.alert(msg)
也可以使用方括号"[]"来访问对象的属性
var myColor = document["bgColor"];
var myClassmate=new Array("JHX","LJY","QZY","HZF");
delete myClassmate[2];
delete运算符主要用于删除数组的特定元素,也可以删除对象的属性、方法等。
()运算符用来调用对象的方法
window.alert(msg)
typeof运算符
typeof运算符用于表明操作数的数据类型,返回值为字符串
var myString = typeof(data);
NaN 属性是代表非数字值的特殊值(not a number)。
该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
<script type="text/javascript">
var test1="300"
var test2="Hello World!"
document.write(Number(test1)+ "<br />")
document.write(Number(test2)+ "<br />")
document.write(isNaN(test1)+ "<br />")
document.write(isNaN(test2))
</script>
输出:
300
NaN
false
true
Number()、parseInt()、parseFloat()
以上函数转换字符串时, 如果第一个字符不是一个数值的话, 则会转换成NaN;
注意:变量不要带引号,否则变成字符串
alert("this is an example");
alert(fresheggs);
赋值传值和引用传址
赋值传值:将一个变量的值赋值给另外一个变量,如果这个变量的值修改的话不会影响到另外一个变量。这两个变量之间没有任何联系
引用传址:将一个变量的值赋值给另外一个变量,如果这个变量的值有修改的话那么另外一个变量将同时受到影响。将一个变量的内存地址赋值给另外一个变量 这两个变量同时指向一同一个内存地址。这两个变量是有联系的。
在JS中基本数据类型的赋值操作都是赋值传值;复合数据类型的赋值都是引用传址。
+号是的使用
如果加号左右两边都是数值型那么+就是+号(运算符的加号)
如果加号左右两边有一边是字符串那么+就是起拼接(链接)作用
如果上述都不符合直接NaN
cosole.log(1+"a"+1+1); //1a11
console.log(1+1+"a"+1+1); //2a11
console.log(undefined + null); //NaM
console.log(1 + undefined + "a" + 2 + null + true) //NaNa2nulltrue
注意: 使用加号作为数学运算时, 一定要注意将字符串型数据转换为整型(parseInt()函数)
typeof(判断变量)或者typeof 判断变量
数据类型 返回值
数值型 number
字符串类型 string
布尔类型(true/false) boolean
null object
undefined undefined
Array object
function function
Object object
Regexp object
标签: #js变量的值