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 ...
随机推荐
- GCC学习(1)之MinGW使用
GCC学习(1)之MinGW使用 因为后续打算分享一些有关GCC的使用心得的文章,就把此篇当作一个小预热,依此来了解下使用GNU工具链(gcc.gdb.make等)在脱离IDE的情况下如何开发以及涉及 ...
- VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容
VMware下对虚拟机Ubuntu14系统所在分区sda1进行磁盘扩容 一般来说,在对虚拟机里的Ubuntu下的磁盘进行扩容时,都是添加新的分区,而并不是对其系统所在分区进行扩容,如在此链接中http ...
- Lesson 20 One man in a boat
Text Fishing is my favourite sport. I often fish for hours without catching anything. But this does ...
- HTML5之应用缓存---manifest---缓存使用----Web前端manifest缓存
相信来查这一类问题的都是遇到问题或者是初学者吧! 没关系相信你认真看过之后就会知道明白的 这是HTML5新加的特性 HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连 ...
- 解决浏览器Chrome net::ERR_BLOCKED_BY_CLIENT
问题: 开发的公司内部后台应用页面显示异常,获取不到资源 F12 提示 net::ERR_BLOCKED_BY_CLIENT 很困惑,用Chrome打开页面就异常,IE什么的就没问题- 原因:广告拦截 ...
- 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步
Sql Data Compare 是比较两个数据库的数据是否相同.生成同步sql的工具. 这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLTo ...
- 龙之谷手游WebVR技术分享
主要面向Web前端工程师,需要一定Javascript及three.js基础:本文主要分享内容为基于three.js开发WebVR思路及碰到的问题:有兴趣的同学,欢迎跟帖讨论. 目录:一.项目体验1. ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...
- Quartz.NET Windows 服务示例
想必大家在项目中处理简单的后台持续任务或者定时触发任务的时候均使用 Thread 或者 Task 来完成,但是项目中的这种需求一旦多了的话就得将任务调度引入进来了,那今天就简单的介绍一下 Quartz ...
- 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(2)
作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...