javascript 练习示例(一)
confirm 点确定返回true,点取消返回false
prompt 点确定返回用户输入的字符串,点取消返回null
判断奇偶性
var isOdd = prompt('请输入你得的数字');
if(isNaN(isOdd)){
alert('你输入的是非数字');
}else if(!(isOdd % 2)){
alert('你输入的是偶数');
}else{
alert('你输入的是奇数');
用位运算
function assert(n) {
if (n & 1) {
console.log("n是奇数");
} else {
console.log("n是偶数");
}
}
assert(3); // "n是奇数"
判断是否闰年
满足下面两个条件之一
- 普通年能被4整除且不能被100整除的为闰年.
- 世纪年能被400整除的是闰年
var isRunnian = prompt('请输入一个年份');
if(isNaN(runnian)){
alert('请输入数字');
}else if((isRunnian % 4 == 0 && isRunnian % 100 != 0) || isRunnian % 400 == 0 ){
alert(isRunnian + '是闰年');
}else{
alert('不是闰年');
}
克托莱指数
身体质量指数 (Body Mass Index, 简称BMI), 亦称克托莱指数, 是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。BMI 值超标,意味着你必须减肥了。
var weight, height;
var weight = prompt('请输入你的体重(kg):');
var height = prompt('请输入你的身高(m)');
var result = weight / (height * height);
result <= 20 && alert('偏瘦:' + result);
result >= 25 && alert('偏胖:' + result);
(result >= 20 && result <= 25) && alert('标准身材:' + result);
交换两个变量的值
不借助第三变量,交换两个数字的位置
var num1, num2, temp;
temp = num1;
num1 = num2;
num2 = temp;
num1 = 5, num2 = 8;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
num1 = 8, num2 =5; num1 ^= num2;
num2 ^= num1;
num1 ^= num2;
输入三个数字,输出最大值
function max(num1, num2, num3){
var isMax = num1;
isMax = isMax > num2 ? isMax : num2;
isMax = isMax > num3 ? isMax : num3;
return isMax;
}
//使用位运算
function max(num1, num2, num3){
var isMax;
isMax = num1 > num2 ? (num1 ^= num2, num2 ^= num1, num1 ^= num2) : num2;
isMax = num3 > isMax ? (isMax ^= num3, num3 ^= isMax, isMax ^= num3) : isMax;
return isMax;
}
三个数字实现排序输出,从小到大
function getSort(x, y, z){
x > y && (x ^= y, y ^= x, x ^= y); //y比x大
y > z && (y ^= z, z ^= y, y ^= z); //z比y大
x > y && (x ^= y, y ^= x, x ^= y);
console.log(z, y , x)
}
输入年月日,判断该月有什么天
1,3,5,7,8,10,12 :31天
4,6,9,11 :30天
2: 闰年29天 平年28天
function isDay(){
var year = prompt('请输入年份');
var month = prompt('请输入月份');
var day;
switch (parseInt(month)){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: alert(year + '年份' + month + '月份' + '有31天'); break;
case 2:
if(year % 4 ==0 && year %100 !=0 || year % 400 == 0){
alert(year + '年份' + month + '月份' + '有29天'); break;
}else{
alert(year + '年份' + month + '月份' + '有28天'); break;
}
case 4:
case 6:
case 9:
case 11: alert(year + '年份' + month + '月份' + '有30天'); break;
default: alert('你的输入有误');
}
}
用户输入自己的生日,判断生日是当年的第?天
calDate()
function calDate(){
var y = prompt('请输入年份');
var m = prompt('请输入月份');
var d = prompt('请输入日期');
var totalDays = 0;
switch (m - 1){
case 11:
totalDays += 30;
case 10:
totalDays += 31;
case 9:
totalDays += 30;
case 8:
totalDays += 31;
case 7:
totalDays += 31;
case 6:
totalDays += 30;
case 5:
totalDays += 31;
case 4:
totalDays += 30;
case 3:
totalDays += 31;
case 2:
if(y % 4 ==0 && y %100 !=0 || y % 400 == 0){
totalDays += 29;
}else{
totalDays += 28;
}
case 1:
totalDays += 31;
}
totalDays += parseInt(d);
alert('生日在当年的第' + totalDays + '天');
}
javascript 练习示例(一)的更多相关文章
- JavaScript闭包示例
在下面的例子中,为什么点击所有的段落p输出都是5,而不是alert出对应的0,1,2,3,4. <html> <head> <meta charset="utf ...
- javascript prompt示例
<html lang="en"> <head> <title>Date example</title> <script t ...
- Clean Code之JavaScript代码示例
译者按: 简洁的代码可以避免写出过多的BUG. 原文: JavaScript Clean Code - Best Practices 译者: Fundebug 本文采用意译,版权归原作者所有 引文 作 ...
- Javascript基础示例:用JS写简易版贪吃蛇(面向对象)
废话不多说,代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- Javascript 综合示例 网页扫雷游戏
---------------认定了的事情,只要是对的,干到底! ------------------------------------------------------------------- ...
- 一个简单的Javascript闭包示例
//=====用闭包实现函数的Curry化===== //数字求和函数的函数生成器 function addGenerator( num ){ //返回一个简单的匿名函数,求两个数的和,其中第一个数字 ...
- 将百度坐标转换的javascript api官方示例改写成传统的回调函数形式
改写前: 百度地图中坐标转换的JavaScript API示例官方示例如下: var points = [new BMap.Point(116.3786889372559,39.90762965106 ...
- Dynamics 365 Customer Engagement中使用JavaScript和C#调用操作Action示例
微软动态CRM专家罗勇 ,回复334或者20190509可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Action (操作)是流程的一种,可以在工作流中调用,可以使用 ...
- OVGap iOS与Javascript交互(H5与原生APP交互)
源代码:https://github.com/windshg/OVGap OVGap:一个轻量级的类库,能够让iOS应用和远程网页的 Javascript 代码进行通信,也就是说,远程的 Javasc ...
随机推荐
- mysql删除重复记录语句的方法
例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name ...
- UGUI Text(Label)
环境 Unity 5.3.6f1 关于Best Fit 如果勾选了 Best Fit ,当有大量的文本填充在Text上时,那么文字是不会自动换行的. 打字机效果 在github上已有现成的:https ...
- 技术笔记:XMPP之openfire+spark+smack
在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的.所以还是想在这个领域多多了解一下. XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是.简单的说就 ...
- Xamarin.Android之使用百度地图起始篇
一.前言 如今跨平台开发层出不穷,而对于.NET而言时下最流行的当然还是Xamarin,不仅仅能够让我们在熟悉的Vs下利用C#开发,在对原生态类库的支持方面也有着非常的好支持,今天我们将会以百度地图类 ...
- 我的公司培训讲义(1):.NET开发规范教程
这是1年多以前我在公司所做讲座的讲义,现在与园友们分享,欢迎拿去使用.一起讨论.文中有若干思考题,对园友们是小菜一碟.另有设计模式讲义一篇,随后发布.博文上了首页,感谢博客园团队推荐,也感谢所有园友的 ...
- 使用自定义 classloader 的正确姿势
详细的原理就不多说了,网上一大把, 但是, 看了很多很多, 即使看了jdk 源码, 说了罗里吧嗦, 还是不很明白: 到底如何正确自定义ClassLoader, 需要注意什么 ExtClassLoade ...
- ASP.net 使用ConfigurationManager获取连接字符串
在解决方案资源管理器里右键单击解决方案选择“添加引用”,并且从 .net 中找到 System.Configuration 引用它 在项目的web.config文件中添加 <connection ...
- CI Weekly #6 | 再谈 Docker / CI / CD 实践经验
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- SQL Server中的锁
死锁的类型 不同表之间的相互等待,第一个事务操作A->B, 第二个事务操作B->A - 每个事务都锁定对方下一步将要操作的表 同一张表之间的相互等待, 无索引导致的全表扫描,下文中说到的情 ...
- !+"\v1" 用来“判断浏览器类型”还是用来“IE判断版本”的问题!
这种写法是利用各浏览器对转义字符"\v"的理解不同来判断浏览器类型.在IE中,"\v"没有转义,得到的结果为"v".而在其他浏览器中&quo ...