js练习题 (1)

1.js 精度:

console.log(0.1+0.2);//0.30000000000000004
console.log(0.1+0.7);//0.7999999999999999
console.log(0.2+0.4);//0.6000000000000001
// 解决方案
console.log((0.2*10+0.4*10)/10);//0.6

2.null 和 undefined有什么区别

1、定义
(1undefined:是所有没有赋值变量的默认值,自动赋值
(2null:主动释放一个变量引用的对象,表示一个变量不再指向任何对象地址
2、何时使用null?
    当使用完一个比较大的对象时,需要对其进行释放内存时,设置为null
3nullundefined的异同点是什么呢?
    共同点:都是原始类型,保存在栈中变量本地
    不同点:
   (1undefined——表示变量声明过但并未赋过值。
    它是所有未赋值变量默认值。
        例如:var a;    //a自动被赋值为undefined2null——表示一个变量将来可能指向一个对象。
        一般用于主动释放指向对象的引用。
例如:
var emps = ['ss','nn'];
                  emps = null;     //释放指向数组的引用

3.一元运算符 圆括号() 逗号

// 圆括号()
//1.提高优先级
(a+(function(i){return i}(2)))*c
//2.函数的参数要放在括号里()
function fun(a,b,c)
{
    //…
}
//3.立即执行函数表达式
(function fun(a,b,c)
{
    //…
})(1,2,3)

//逗号运算符,运算符常用变量声明中。
//用逗号运算符可以在一条语句中执行多个运算。
//例如:
var iNum1 = 1, iNum = 2, iNum3 = 3;
// 前增量++a/前减量运算符--a
// 后增量a++/后减量运算符a--
//一元加法本质上对数字无任何影响:
var iNum = 20;
iNum = -iNum;
alert(iNum);	//输出 "-20"

//尽管一元加法对数字无作用,但对字符串却有有趣的效果,会把字符串转换成数字。
var sNum = "20";
alert(typeof sNum);	//输出 "string"
var iNum = +sNum;
alert(typeof iNum);	//输出 "number"
// 一元减法就是对数值求负(例如把 20 转换成 -20):
var iNum = 20;
iNum = -iNum;
alert(iNum);	//输出 "-20"

4.运算符优先级

属性访问 > 一元操作符 > 乘除 > 加减 > 比较 > 相等 > 与运算 > 或运算 > 三目运算 > 赋值运算

5.void()

void 运算符对任何值返回 undefined。
该运算符通常用于避免输出不应该输出的值,例如,从 HTML<a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。
例如:
<a href="javascript:window.open('about:blank')">Click me</a>
如果把这行代码放入 HTML 页面,点击其中的链接,即可看到屏幕上显示 "[object]"。
这是因为 window.open() 方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。
要避免这种效果,可以用 void 运算符调用 window.open() 函数:
<a href="javascript:void(window.open('about:blank'))">Click me</a>
这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。
提示:请记住,没有返回值的函数真正返回的都是 undefined

用代码实现:
1.变量a中存储的数字10,变量b中存储的数字是3
1)a除以b后,并取整,在页面输出得到的结果?

var a=10,b=23;
document.write(parseInt(a/b)); 

2)将a%b后得到的结果转换为字符串类型,在打印台输出得到的结果,并验证最终的结果数据类型是否为字符串

 var str=String(a%b)
 console.log(str,typeof str);
 console.log("-------------------");

2.用三元运算符实现
1)小明和妈妈约定,期末考试如果语文数学成绩都是满分100,周末妈妈就带他去游乐园,否则就只有在家改错题

var yuwen=100,shuxue=100
var isgo=yuwen==100&shuxue==100?isgo="go":isgo="don't go"
console.log(isgo);//go
console.log("-------------------");

2)小明考了双百分,妈妈周末带小明去游乐园玩了一天,随后和小明约定,如果明年小明还能拿到双百分并且奥数能够获得华杯赛前90名就带他去迪斯尼乐园,否则就只有后年再努力了

var nextYW=100,nextSX=100,Ranking=45;
var nextisgo=nextYW==100&nextSX==100&Ranking<90?nextisgo="go":nextisgo="don't go"
console.log(isgo);//go
console.log("-------------------");

3、输入一数字作为秒数,按小时,分钟,秒的格式输出。

var sec=prompt("输入一数字作为秒数")
var h=parseInt(sec/3600)
var m=parseInt(sec/60%60)
var s=parseInt(sec%60)
console.log(h,m,s);
console.log("-------------------");

4、a=5,b=6 交换a和b的值

var a=5,b=6,temp;
console.log(a,b);
temp=a;
a=b;
b=temp;
console.log(a,b);
console.log("-------------------");

5.默写以下答案

 	var a=1504,b='2'
    console.log(1+a+b-5);//105047
    var a=5,b=6
    c=++a+b
    console.log(a,b,c);//6,6,12
    var a=5,b=6
    c=++a+b++
    console.log(a,b,c);//6,7,12
    var a=5,b=6
    c=a+++b++
    console.log(a,b,c);//6,7,12
    var a=5,b=6
    console.log(a+++b);//11
    console.log(a);//6
    var a=5,b=6
    console.log(a+ ++b);//12
    console.log(a);//5
    console.log(0==false);//true
    console.log(0===false);//false
    console.log(1==true);//true
    console.log(""==false);//false
    console.log(" "==false);//true
    console.log("0"==true);//false
    console.log("1"==true);//true
    console.log(null==false);//false
    console.log(null===false);//false
    console.log(null==null);//true
    console.log(null==undefined);//true
    console.log(null===undefined);//false
    console.log(undefined==undefined);//true
    console.log(undefined==false);//true
    console.log(0==null);//false
    console.log(0==undefined);//false
	
	//NaN不等于任何值,包括自己
    console.log(NaN==false);//false
    console.log(NaN==NaN);//false
    console.log(typeof NaN);//number
    var a={},b={}
    console.log(a==b);//false

拓展
代码实现:
1.输入1个同学的成绩,60-70为D,70-80为C ,80-90为B,90-100为A 不及格-60为E 最后输出这个同学到底是哪个分段

var cj = parseInt(prompt("输入1个同学的成绩"))
if (90<=cj<100) {
    alert("A");
} else if(80<=cj<90){
    alert("B");
}else if(70<=cj<80){
    alert("C");
}else if(60<=cj<70){
    alert("D");
}else{
    alert("不及格!");
}

2.输入三个数,找出最大数和最小数

var a= parseInt(prompt("输入a成绩"));
var b= parseInt(prompt("输入b成绩"));
var c= parseInt(prompt("输入c成绩"));
var max=min=a;
if (max<b) {
    max=b;
}
if (max<c) {
    max=c;
}
if (min>b) {
    min=b;
}

<hr style=" border:solid; width:100px; height:1px;" color=#000000 size=1">

# 总结
<font color=#999AAA >提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

if (min>c) {
    min=c;
}
alert("max:"+max+" min:"+min)

3.从1+到100的执行步骤,最后得出结果

var sum=0;
for (let i = 0; i < 101; i++) {
    sum+=i;    
}
alert(sum)//5050

整理知识点:
1.运算符优先级
2.一元运算符 圆括号() 逗号

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值