2019.7.22JS初始内容的整理以及4道题目

1、什么是JavaScript?
 一种脚本语言 解释性语言
 弱类型语言: 数据值决定变量的类型
 2、JavaScript由什么组成?
 核心ECMAScript
 DOM
 BOM
 3、运算
 string + number = string
 string + boolean = string
 number + boolean = number
 number + undefiend = NaN
 boolean + undefiend = NaN
 string + undefiend = string
 强制数据类型转换
 toString() 数据.toString() 将任何数据转换为字符串
 parseInt(数据) 将数据转换为整数型的number类型
 parseInt("2a5.a64") 2
 parseFloat(数据)
 parseFloat("1.9a2") 1.9
 Number(数据) 只要包含了非数字字符,返回NaN

自增的算法
var num = 5;
console.log(num++);//5 先输出num 后++
现在num值为6
console.log(++num);//7
console.log(num++ + ++num +num++);//25 7(8) + 9(9) + 9(10) =25

两个数的交换
var a = 123 ,b = 456;
如何让a与b的数值进行交换?
 a = a + b;
 b = a - b;
 a = a - b;
 console.log(a,b)
第二种办法
var c;
c = a;
a = b;
b = c;
console.log(a,b);

对于无限小数的处理
var change = 2 - 1.6;
console.log(‘找零:‘+change);//此时输出台结果为0.399999~
 四舍五入解决误差 .toFixed(n) n 保留n为小数
change = change.toFixed(2);
console.log(‘四舍五入后:‘+ change);//结果为0.40

与,或,非。
var bi = prompt("输入笔试成绩:");
var face = prompt("输入面试成绩:");

都能入职
var isPass = (bi >= 60) && (++face >=60) ;
console.log(‘是否能入职?‘+isPass)

笔试成绩和面试成绩有一个是100分就可以入职

var isPass1 = bi==100 || ++face ==100;
console.log(‘是否能入职?‘+isPass1);
console.log(bi,face)

判断输入的数据是否为数字
var input = prompt("请输入:");
console.log(‘是不是一个数:‘+ !isNaN(input) )

位运算符 按位与& 按位或| 按位右移>> 按位左移 异或^
 & 按位 与 将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0
var num1 = 5;
var num2 = 3;
var r = num1 & num2 ;
console.log(r);//1
 5: 101
 3: 011
 ------------
 r: 001
 作用:判断奇偶性,比模的效率要高
 判断数字与 1 做按位与 ,最后的一位 1 为奇数 0为偶数
console.log( (10 & 1) === 0 );//true偶数
console.log( (9 & 1) === 0 );//false奇数
 10: 1010
 1 : 0001
 ----------
 0000
 11: 1011
 1 : 0001
 --------
 0001
 | 按位 或 将两边的操作数转换成为二进制,比较每位上的数字,两个数字中有一个是1,则该位的结果就是1 ,否则 0

r = num1 | num2 ;
 5: 101
 3: 011
 ------------
 r: 111 7
 场合:向下取整 位运算一定会将数据转换为二进制,而小数会被转换为整数
console.log(r);
var num3 = 6.5;
console.log(num3 | 0);
 6.5 ==> 6 110
 0 000
 ------
 r 110 6

<< 按位左移 ,将二进制数,向左移动几位 ,右面以0 补位
console.log(2 << 1);// 4
console.log(2 << 2);// 8
console.log(2 << 3);// 16
console.log(2 << 4);// 32
 0000 0000 0001 0000
 >> 按位右移 将二进制数,向右移动几位,左面以0 补位
console.log(8 >> 1);//4
console.log(8 >> 2);//2
console.log(8 >> 3);//1
console.log(8 >> 4);//0
 0000 0000 0000 0001

^ 异或 将两边的数字转换为二进制 进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则0
r = num1 ^ num2
console.log(r);
 5: 101
 3: 011
 ------------
 r: 110 6
 交换num1 和num2的值
 num1 = num1 ^ num2;
num1 ^= num2;
 num2 = num2 ^ num1;
num2 ^= num1;
 num1 = num1 ^ num2;
num1 ^= num2;
 num1 = num1 ^ num2;
 5: 101
 3: 011
------------
 num1: 110 6
 num2 = num2 ^ num1;
 3:011
 6:110
 ------
 num2: 101 5
 num1 = num1 ^ num2;
 6:110
 5:101
 --------
 num1: 011 3
console.log(num1,num2);// 3 5

==与===的区别
 == 判断两个数据是否相等 值
 != 不等于, 判断两个数据是否不相等 值
 === 判断数值和类型是否完全相等
 !== 判断数值和类型是否完全不相等

价格打折:用户输入消费金额,如果消费的金额>=100元,享受八折,输出实际付费金额
var price = prompt("请输入消费金额:");
 左侧的表达式值为true则不执行右侧的表达式 反之则需要执行
price >= 100 && (price = price *0.8);
console.log(‘应收金额:‘+price);

请用户输入一段留言:如果输入了,就输出留言的内容,否则就输出:“主人很懒,什么也没留下”
 空字符串 可以当false使用
 undefined
 0
 0.0
 ""
var msg = prompt("请输入留言:");
或,左边写了则输出,没写则看右边
var result = msg || ("主人很懒,什么也没留下");
console.log(result);

三目运算符
 需要三个操作数/表达式 表达式1 ? 表达式2 : 表达式3;
 表达式1:运算结果应该为boolean类型
 表达式1 = true 执行表达式2
 表达式1 = false 执行表达式3
 允许嵌套
var score = prompt("输入成绩:");
var msg = score >= 80 ? "优秀" : score>=60 ? "合格":"不及格";
console.log(msg);

1、弹出一个输入提示框,请用户输入一个表示工资的数字,按如下规则在控制台中输出改工资金额的级别:
 1)大于等于20000,显示 高工资
 2)小于20000大于等于8000 显示 中高工资
 3)小于8000 显示 普通工资
var pri = prompt(‘工资为:‘);
var re = pri < 8000?‘屌丝‘: pri >= 8000 && pri < 20000?‘白领‘: ‘高富帅‘;
alert(re);

2、体重健康指数(克莱托指数)计算公式如下:
 体重(kg)/身高的平方(m)
 20-25正常,20以下偏瘦,25以上偏胖
 例如:某人是60kg,1.7m。那就是:60/(17*17)=20.76,属于“正常
 ”体重;
var wei = prompt(‘请输入体重:(kg)‘);
var hei = prompt(‘请输入身高:(m)‘);
var num = wei/(hei*hei);
console.log(num);
var world = num > 25?‘大胖子‘: num < 20?‘瘦猴‘: ‘标准身材‘;
alert(world);

3、要求用户输入一个四位数,将这个四位数的个,十,百,千位的数字单独输出来,并将他们的和求出来!
 例:用户输入2045,输出结果为:个位:5,十位:4,百位:0,千位:2,和为:11
var num = prompt(‘请输入一个四位数:‘);
var q = parseInt(num / 1000);
var b = parseInt((num % 1000) / 100);
var s = parseInt((num % 100) / 10);
var g = parseInt(num % 10);
alert(‘千位是:‘ + q + ‘\n十位是:‘ + b + ‘\n百位是:‘ + s + ‘\n十位是:‘ + g
+ ‘\n它们的和是:‘ + parseInt(q+b+s+g));

4、商场为员工提供了基本工资(3000元)、物价津贴及房租津贴,其中物价津贴为基本工资的40%,房租津贴为基本工资的25%。编程计算实领工资
var pay = prompt(‘请输入工资:‘);
var house = parseInt(pay*0.4);
var thing = parseInt(pay*0.25);
alert(‘实际工资为:‘ + (parseInt(pay) + house + thing) + ‘你真是个屌丝!‘);

原文地址:https://www.cnblogs.com/awei313558147/p/11228475.html

时间: 2024-10-20 11:23:03

2019.7.22JS初始内容的整理以及4道题目的相关文章

松哥整理了 15 道 Spring Boot 高频面试题,看完当面霸

什么是面霸?就是在面试中,神挡杀神佛挡杀佛,见招拆招,面到面试官自惭形秽自叹不如!松哥希望本文能成为你面霸路上的垫脚石! 做 Java 开发,没有人敢小觑 Spring Boot 的重要性,现在出去面试,无论多小的公司 or 项目,都要跟你扯一扯 Spring Boot,扯一扯微服务,不会?没用过? Sorry ,我们不合适! 今天松哥就给大家整理了 15 道高频 Spring Boot 面试题,希望能够帮助到刚刚走出校门的小伙伴以及准备寻找新的工作机会的小伙伴. 1.什么是 Spring Bo

整理的70道阿里高级Java面试题,都来挑战一下,看看自己有多厉害

整理的70道阿里高级Java面试题,都来挑战一下,看看自己有多厉害.1.java事件机制包括哪三个部分?分别介绍.2.为什么要使用线程池?3.线程池有什么作用?4.说说几种常见的线程池及使用场景.5.线程池都有哪几种工作队列?6.怎么理解无界队列和有界队列?7.线程池中的几种重要的参数及流程说明.8.什么是反射机制?9.说说反射机制的作用.10.反射机制会不会有性能问题?11.你怎么理解http协议?12.说说http协议的工作流程.13.http有哪些请求提交方式?14.http中的200,3

MySQL Innodb 事务实现过程相关内容的整理

MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性:undo是保证事务的一致性(一致性读和多版本并发控制):purge清理undo表空间背景知识,对于Innodb表中的行每一行包括:6字节的事务ID(DB_TRX_ID)字段: 用来标识最近一次对本行记录做修改(INSERT|UPDATE)的事务的标识符, 即最后一次修改(INSERT|UPDATE)本行记录的事务id.7字节的回滚指针(DB_ROLL_PTR)字段: 指写入回滚段(ROLLBACK s

2019最新java常见面试题整理

操作系统说一下线程和进程,它们的区别同步和异步的区别阻塞和非阻塞的区别操作系统中死锁的四个必要条件mmap和普通文件读写的区别,mmap的注意点CPU密集型和IO密集型的区别Linuxlinux 用过的命令kill 用法,某个进程杀不掉的原因(进入内核态,忽略 kill 信号)系统管理命令(如查看内存- 网络情况)管道的使用grep 的使用,一定要掌握,每次都会问在文件中查找shell 脚本find 命令awk 使用讲一下linux的Swap分区硬链接和软连接区别讲一下epoll的基本原理,优点

小白(自己)需要get的技能(内容摘抄整理自java大神,仅作自己目标,轻喷~)

1.会查阅官方文档: 2.能看懂前任的代码: 3.能够精准定位复制黏贴的内容: 4.常用的API(例如:String,StringBuffer/StringBuilder等): 5.集合类,线程类: 6.Servlet(平时很少用纯粹的Servlet写的,但是自己要懂,因为目前很多框架都是基于Servlet封装的): 7.Json和XML的读写: 8.数据库的访问(CRUD,事务,连接池等): 9.Http请求(HttpClient): 10.其他,包括常用的框架,设计模式,面向对象: 11.J

2019/12/10学习内容摘要(Linux文件和目录管理)

1.绝对路径和相对路径 *绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql *相对路径:路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后再进入到test,执行的命令为 “#cd /home,#cd test”.此时用户所在的路径为 /home/test.第一个cd命令后紧跟/home,前面有斜杠:而第二个cd命令后紧跟test,前面没有斜杠.这个test是相对于/home目录来讲的,所以称为相对路径. 2.与目录相关命令 1. cd

2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  (‘ | ’ 为管道符,作用是把前面的的命令输出在输入给后面的命令 ) 由图所示 /etc/passwd/被:分为7个字段 其含义如下 第一个字段为用户名(图中为root),是代表用户账号的字符串. 第二个字段是该账号的口令,这里的"x"代表的是密码标志,而不是真正的密码,真正的密码是保存在

2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username],若命令后不加名字则是为自己设定密码 (只有root用户才能修改其他账户的密码,普通账户只能修改自己的密码) 2. 命令mkpasswd 用于生成密码  使用如下命令安装软件包 选项[-l ]指定生成密码的长度 [-s]指定特殊字符的个数 [-d]指定数字的个数 四,用户命令切换 1.命令su  

js学习内容的整理

1.jquery动态添加Table中的一行 function addTableRow(tableId){var html = '<tr> ...... </tr>"'; //行首插入一行 if($('#'+tableId).find('tr').length == 1){ $(html).insertAfter($('#'+tableId).find('tr').eq(0)); } else { $(html).insertBefore($('#'+tableId).fi