JS 8月24日错猛击

64

  1. 代码的输出结果是
    document.write(num+“”); var num = 123; document.write(num);
A 报错

B 123123

C undefinedundefined

D undefined123

正确答案: D 解析: 预解析, 第一个声明变量没有赋值,所以是undefined, 第二个赋值成功, 打印123
当时错的原因是不知道变量提升是**只提升一个var** 以为是整个赋值也提升上去
  1. 代码的输出结果是

    var num = 2; 
    
    switch(num) {    
    
        case 1: console.log("1");    
    
        case 2: console.log("2");    
    
        default: console.log("default"); 
    
    }
    

    A 先输出2,再输出default

    B 输出2

    C 程序错误

    D 先输出1,再输出2,再输出default

    正确答案: A 解析: 没有写break,case会穿透 原来穿透是只输出最后一个我当时以为是全部穿过的代码全部执行 default也算是执行一次

  2. typeof null 检测出来的数据类型是

    A null

    B number

    C object

    D undefined

    正确答案: C 解析: null是空对象 说是空对象我却无法当对象用 只记得typeof null=object就好

  3. Number(“12a”)的结果是

    A NaN

    B 12a

    C 0

    D 12

    正确答案: A 解析: Number()的转换规则:只要字符串中有不是数字的字符,就为NaN,所以答案为A 只有parseint和parsefloat可以把它尽量往数字上转奥

  4. 查看如下代码:

     function f1( ){    
    
        console.log(x);    
    
        var x = 10;    
    
       ++x;    
    
       console.log(x); 
    
     } 
    
     f1(); 
    

    执行后的结果是

    A 程序错误

    B undefined 和 10

    C undefined 和 11

    D 10 和 11

    正确答案: C 解析: undefined 和 11 知道全局变量提升只提升var x;之后简直简单

  5. 如下代码,会弹出来是什么 alert(a);var a=12;

    A 报错

    B a is not define

    C undefined

    D 12

    正确答案: C 解析: 变量提升 知道全局变量提升只提升var x;之后简直简单

  6. 以下哪项不属于javascript的特征

    A Javascript是一种脚本语言

    B Javascript是事件驱动的

    C Javascript代码需要手动编译以后才能执行XXXX

    D Javascript是独立于平台的

    正确答案: C 解析: JavaScript是基于事件驱动并独立于平台的脚本语言
    是一个看不太懂的题目~~ 背这句就行 JavaScript是基于事件驱动并独立于平台的脚本语言

  7. 如下代码,会弹出来是什么 var num1="1" ;var num2=1; alert(num1-num2);

    A 0

    B 11

    C 1+1

    D 报错

    正确答案: A 解析: 相减,进行隐士转换,全部为数字 和+不同其他算术运算符会将数字与字符相减
    var num = 123.456789;

  8. 哪种方法可以保留3位小数

    A num.toString(3) //这是将字符转换为3进制!!然而并没有三进制吧

    B num.toFixed(3) 保留小数,数字专属

    C parseFloat(num,3)

    D Number(num,3)

    正确答案: B 解析: 注意,只有数值类型的变量,才有toFixed方法

  9. 下列表达式结果为false的是

    A !""

    B !{}

    C !undefined

    D !!5

    正确答案: B 解析: 使用if去判断一个空对象结果仍然是true

多选

  1. 下面语句得到值为true的有

    A “1” == 1

    B 1===“1”

    C “2” > “19”

    D “2”==19

    正确答案: A,C 解析: 比较相等两个等号会有隐式类型转换,只需值相等即可,三个等号必须类型和值同时相等结果才为true,故A对B错

    字符串之间的大小比较是按照ACSII编码大小,“2”的ASCII码比“1”的ASCII大,所以C正确

    数字跟字符串比较大小会将字符串隐式转换为数字,即 2>19,D选项错误

  2. 以下运算符正确的是

    A
    ++

    B

    --
    

    C &&

    D

    >=
    

    正确答案: A,B,C,D 解析: 自增、自减、逻辑与、大于或等于 自增自减都是运算符

  3. JavaScript运算符都有哪些

    A 赋值运算符

    B 算术运算符

    C 关系运算符

    D 逻辑运算符

    正确答案: A,B,C,D 解析: 赋值运算符=、数学运算符+ - * / %、一元运算符++ --、逻辑运算符&& || ! 全选就对辽

  4. 以下哪些属于循环语句

    A switch

    B for

    C while

    D do…while

    正确答案: B,C,D 解析: 循环语句 有三个 for while do…while; if switch是选择结构

  5. 关于函数,以下说法正确的是

    A 函数参数分为形式参数和实际参数

    B 可以直接使用函数名称来调用函数 比如 函数名()

    C 函数可以提高代码的重用率

    D 函数不能有返回值

    正确答案: A,B,C 解析: 函数使用return来返回一个值

  6. 函数中实参可以是

    A 常量

    B 变量

    C 只能是变量

    D 只能是常量

    正确答案: A,B 解析:
    实参可以是变量 常量 ,形参只能是变量

基本数据类型:NULL undefined boolean number string

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
写一个完整的拳皇游戏需要大量的时间和资源,但是我们可以写一个简化版的拳皇小游戏来练习Python编程技巧和逻辑思维。 首先,我们需要导入一些Python模块: ```python import random import time ``` 接下来,我们定义一些常量和变量: ```python # 定义角色的属性 player = {'name': 'player', 'hp': 100, 'atk': 20, 'def': 10} enemy = {'name': 'enemy', 'hp': 100, 'atk': 20, 'def': 10} # 定义技能的属性 skill1 = {'name': '普通攻击', 'atk_rate': 1.0, 'hit_rate': 0.9} skill2 = {'name': '火球术', 'atk_rate': 1.5, 'hit_rate': 0.7} skill3 = {'name': '猛击', 'atk_rate': 2.0, 'hit_rate': 0.5} # 定义游戏状态 game_over = False round_count = 1 ``` 然后,我们定义一些函数来实现游戏的逻辑: ```python # 定义攻击函数 def attack(attacker, defender, skill): # 计算命中率 hit_rate = skill['hit_rate'] * (attacker['atk'] / (attacker['atk'] + defender['def'])) is_hit = random.random() < hit_rate if is_hit: # 计算伤害 damage = int(attacker['atk'] * skill['atk_rate']) defender['hp'] -= damage print(f"{attacker['name']}使用了{skill['name']},对{defender['name']}造成了{damage}点伤害!") else: print(f"{attacker['name']}使用了{skill['name']},但是没有击中{defender['name']}!") # 定义回合函数 def battle_round(player, enemy, round_count): print(f"第{round_count}回合开始!") # 玩家选择技能 print("请选择技能:") print("1. 普通攻击") print("2. 火球术") print("3. 猛击") skill_choice = int(input("请输入技能编号:")) if skill_choice == 1: attack(player, enemy, skill1) elif skill_choice == 2: attack(player, enemy, skill2) elif skill_choice == 3: attack(player, enemy, skill3) else: print("无效的选择!") # 敌人随机选择技能 enemy_skill_choice = random.randint(1, 3) if enemy_skill_choice == 1: attack(enemy, player, skill1) elif enemy_skill_choice == 2: attack(enemy, player, skill2) elif enemy_skill_choice == 3: attack(enemy, player, skill3) # 判断游戏是否结束 if player['hp'] <= 0: print("你输了!") global game_over game_over = True elif enemy['hp'] <= 0: print("你赢了!") game_over = True # 回合结束后打印双方的状态 print(f"你的血量:{player['hp']}") print(f"敌人的血量:{enemy['hp']}") ``` 最后,我们可以编写一个主循环来运行游戏: ```python while not game_over: battle_round(player, enemy, round_count) time.sleep(1) round_count += 1 ``` 完整代码如下: ```python import random import time # 定义角色的属性 player = {'name': 'player', 'hp': 100, 'atk': 20, 'def': 10} enemy = {'name': 'enemy', 'hp': 100, 'atk': 20, 'def': 10} # 定义技能的属性 skill1 = {'name': '普通攻击', 'atk_rate': 1.0, 'hit_rate': 0.9} skill2 = {'name': '火球术', 'atk_rate': 1.5, 'hit_rate': 0.7} skill3 = {'name': '猛击', 'atk_rate': 2.0, 'hit_rate': 0.5} # 定义游戏状态 game_over = False round_count = 1 # 定义攻击函数 def attack(attacker, defender, skill): # 计算命中率 hit_rate = skill['hit_rate'] * (attacker['atk'] / (attacker['atk'] + defender['def'])) is_hit = random.random() < hit_rate if is_hit: # 计算伤害 damage = int(attacker['atk'] * skill['atk_rate']) defender['hp'] -= damage print(f"{attacker['name']}使用了{skill['name']},对{defender['name']}造成了{damage}点伤害!") else: print(f"{attacker['name']}使用了{skill['name']},但是没有击中{defender['name']}!") # 定义回合函数 def battle_round(player, enemy, round_count): print(f"第{round_count}回合开始!") # 玩家选择技能 print("请选择技能:") print("1. 普通攻击") print("2. 火球术") print("3. 猛击") skill_choice = int(input("请输入技能编号:")) if skill_choice == 1: attack(player, enemy, skill1) elif skill_choice == 2: attack(player, enemy, skill2) elif skill_choice == 3: attack(player, enemy, skill3) else: print("无效的选择!") # 敌人随机选择技能 enemy_skill_choice = random.randint(1, 3) if enemy_skill_choice == 1: attack(enemy, player, skill1) elif enemy_skill_choice == 2: attack(enemy, player, skill2) elif enemy_skill_choice == 3: attack(enemy, player, skill3) # 判断游戏是否结束 if player['hp'] <= 0: print("你输了!") global game_over game_over = True elif enemy['hp'] <= 0: print("你赢了!") game_over = True # 回合结束后打印双方的状态 print(f"你的血量:{player['hp']}") print(f"敌人的血量:{enemy['hp']}") # 主循环 while not game_over: battle_round(player, enemy, round_count) time.sleep(1) round_count += 1 ``` 运行结果如下: ``` 第1回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:2 player使用了火球术,对enemy造成了30点伤害! enemy使用了猛击,但是没有击中player! 你的血量:100 敌人的血量:70 第2回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:1 player使用了普通攻击,对enemy造成了20点伤害! enemy使用了猛击,但是没有击中player! 你的血量:100 敌人的血量:50 第3回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:3 player使用了猛击,对enemy造成了40点伤害! enemy使用了火球术,但是没有击中player! 你的血量:100 敌人的血量:10 第4回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:1 player使用了普通攻击,对enemy造成了20点伤害! enemy使用了火球术,但是没有击中player! 你的血量:100 敌人的血量:30 第5回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:1 player使用了普通攻击,对enemy造成了20点伤害! enemy使用了火球术,但是没有击中player! 你的血量:100 敌人的血量:10 第6回合开始! 请选择技能: 1. 普通攻击 2. 火球术 3. 猛击 请输入技能编号:1 player使用了普通攻击,对enemy造成了20点伤害! enemy使用了普通攻击,对player造成了10点伤害! 你的血量:90 敌人的血量:0 你赢了! ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值