js案例100讲解(使用原生JS操作网页的几个例子)
本文目录
- 使用原生JS操作网页的几个例子
- JS基于面向对象实现的拖拽库实例
- 求js大牛解惑!一个很有趣的问题: “0.14“*100 = 14.000000000000002 “ , 而 0.13“*100 = 13;
- js定时器怎么解读 &&是并且吗alpha > 100 && (alpha =100);什么意思
- 如何用javascript编写出出1到100的素数
使用原生JS操作网页的几个例子
原生js操作网页
emmm
添加网页元素
移除网页元素
代码
《!DOCTYPE html》《html lang=“en“》《head》 《meta charset=“UTF-8“》 《title》Title《/title》《/head》《style》 div{ border: 1px solid black; width: 100px; height: 100px; text-align: center; }《/style》《body》《div》div1《/div》《div》div2《/div》《script》 var div = document.createElement(“div“); div.innerText = “这是使用js添加的元素“; //添加一个div元素 document.body.appendChild(div); alert(“3秒后移除div1“); //移除html元素 setTimeout(function () { var divList = document.getElementsByTagName(“div“); divList.remove(); },3000);《/script》《/body》《/html》这两个很基础,其实所有其他js库(jquery之类的)能做的事情原生js都能做。
JS基于面向对象实现的拖拽库实例
本文实例讲述了JS基于面向对象实现的拖拽库。分享给大家供大家参考。具体如下:这是一个面向对象的JS拖拽库,可设置水平锁定、垂直锁定、锁定位置、锁定范围等,设定这些范围后,只能在设定的模式下拖动,我觉得这是个挺不错的拖拽实例。运行效果截图如下:在线演示地址如下:
求js大牛解惑!一个很有趣的问题: “0.14“*100 = 14.000000000000002 “ , 而 0.13“*100 = 13;
这个问题挺复杂的,以前看过一次,但没太看懂,这次整理了一下。有兴趣的同学可以看看。首先打印出0.14和0.14*100的二进制(程序见参考):0.14 : 0 01111111100 00011110101110000101000111101011100001010001111011000.14*100 : 0 10000000010 110000000000000000000000000000000000000000000000000114.0 : 0 10000000010 1100000000000000000000000000000000000000000000000000我们可以看到0.14的小数部分出现循环,就像10/3 = 1.33333…一样,所以0.14是有精度丢失的,比较0.14*100和14.0,0.14*100多了最后一位1。 Java遵循IEEE 754标准来支持浮点数的操作,结合浮点值0.14,我们来看一下,1) 0.14的二进制格式0 01111111100 0001111010111000010100011110101110000101000111101100.根据IEEE 754标准, 注:S:符号(0正1负),E,指数,M小数部分。对0.14格式化后的结果是:S(1位) E(11位) M (52位)0 01111111100 0001111010111000010100011110101110000101000111101100根据计算公式: 我们可以得到e = 01111111100 – 1023 = 1020 – 1023 = -3m = 1 (隐藏位) + 0.0001111010111000010100011110101110000101000111101100 = 1 + Long.valueOf(“0001111010111000010100011110101110000101000111101100“, 2)/ (Math.pow(2, 52) – 1)= 1.12000000000000013n = 1.12000000000000013 *2^-3= 1.12000000000000013/8 约 0.14接下来,第二个问题,2)为什么0.14 * 100 输出14.000000000000002?由上可知0.14是不精确的,乘100只会扩大这个不精确度。具体的计算过程如下:100的浮点二进制:0 10000000101 1001000000000000000000000000000000000000000000000000跟据浮点乘法规则指数相加,小数相乘,得到0.14 * 100 = 2^(6-3) //100的指数是6,0.14的指数是-3* (1. 1001000000000000000000000000000000000000000000000000*1. 0001111010111000010100011110101110000101000111101100) //小数部分= 2^(6-3) * (1 + 0.1001000000000000000000000000000000000000000000000000 + 0.0001111010111000010100011110101110000101000111101100 + 0. 1001000000000000000000000000000000000000000000000000 * 0. 0001111010111000010100011110101110000101000111101100//方便计算,分解乘数(同1.1 * 1.1 = 1 + 0.1 * 1 + 1 * 0.1 + 0.1*0.1)这部分我用计算器计算,貌似精度丢失更严重,但可以得知小数部分依然是循环,而不能精确表达。同时,通过查看JDK中Double.toString(d)方法,我们可以看到SUN实现的浮点输出方法。所以最后打印在页面的是14.000000000000002而不是14.0. 故,浮点是用有限二进位接近表达一个数值,不精确是常态,使用要慎重 参考(强烈推荐)IEEE 754 浮点数的表示精度探讨http://www.cnblogs.com/bossin/archive/2007/04/08/704567.html解读IEEE标准754:浮点数表示http://www.linuxsir.org/bbs/thread262207.html浮点乘法计算http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/BinMath/multFloat.html打印DOUBLE二进制方法:public class DoubleTest {@Testpublic void test(){System.out.println(“0.5 : “ + this.dumpDouble(0.5));System.out.println(“0.14 : “ + this.dumpDouble(0.14));System.out.println(“0.14*100 : “ + this.dumpDouble(0.14 * 100));System.out.println(“14.0 : “ + this.dumpDouble(14.0));System.out.println(“100 : “ + this.dumpDouble(100)); Assert.assertEquals(“100.0%“, getPercentage(0.9999, 2));Assert.assertEquals(“100%“, getPercentage(0.9999, 1));Assert.assertEquals(“99.9%“, getPercentage(0.999, 2));Assert.assertEquals(“10.1%“, getPercentage(0.101, 2));Assert.assertEquals(“10.2%“, getPercentage(0.1015, 2));Assert.assertEquals(“11.0%“, getPercentage(0.1095, 2));Assert.assertEquals(“0.11%“, getPercentage(0.0011, 3)); final int TOTAL = 100000;double data = new double;b.setCharAt(j, n); }if(j == 0){b.insert(0, 1);dot++;if(precision == 1){b.setCharAt(dot, ’%’);return b.substring(0, dot + 1);}else{b.setCharAt(dot + precision, ’%’);return b.substring(0, dot + precision + 1);}}}b.setCharAt(dot + precision, ’%’);return b.substring(0, dot + precision + 1);}b.append(“%“);return b.toString();}
js定时器怎么解读 &&是并且吗alpha > 100 && (alpha =100);什么意思
Logical Operator(逻辑运算符)
&& (Logical AND)
如果第一个表达式可以被转换成 false,则返回第一个表达式,否则返回第二个表达式
(Logical OR )
如果第一个表达式可以被转换成 true,则返回第一个表达式,否则返回第二个表达式
因为逻辑表达式都是从左到右解析的,所以他们实现了一个规则叫短路求值(Short-Circuit Evaluation).
doSomething() && doSomethingElse() 相当于 下面代码:
if( doSomething() ) { doSomethingElst();}doSomething() || doSomethingElst() 相当于:
if( !doSomething() ) { doSomethingElse();}在你这个案例中, alpha 》 100 && ( alpha = 100 ); 就相当于:
if( alpha 》 100 ) { alpha = 100;}同时,因为 && 前后必须是表达式,alpha = 100 并不是表达式,所以需要加括号。
如何用javascript编写出出1到100的素数
for(let i=1;i《=100;i++){if(check(i)) {console.log(i)}}// 判断当前给定的数 num 是否为素数, 是素数返回 true, 否则返回 falsefunction check(num){if(num === 1) {// 1 不是素数也不是合数, 返回 falsereturn false} else {// 声明变量用于统计从1~根号下 num,之间 能被 num 整除的数的个数let count = 0;for(let i=1; i《=Math.sqrt(num); i++) {if(num%i === 0) {count++// 当发现在1~根号下 num 之间有超过1个数可以被 num 整除, 说明 num 一定不是素数,直接返回false, 后面的数不用判断了if(count 》1) {return false}}}// 因为素数只能被1和自身整除,// 那么从1~根号下 num 之间一定只有一个数(1)可以被 num 整除, 所以当 count 等于1时, 这个num 就是素数return count == 1}return false}
更多文章:

软件java是什么意思(JAVA是什么软件主要是干什么用的)
2025年3月13日 10:20

CSS中font是什么意思?求美国加州Fontana和Bloomington这两个城市的气候
2025年3月7日 13:00

domino(如何安装或删除domino服务器作为Windows的服务)
2025年2月28日 08:50

framework笔记本官网(win7笔记本电脑程序与功能这么没有net framework)
2025年2月17日 14:20

modbustcp(安川modbustcp协议是直接可以使用么)
2025年3月18日 08:30

servu安装教程(怎样在虚拟机XP中安装Serv-u软件,利用Serv-u发布ftp站点)
2025年3月13日 21:20

fields音标(英语A CDR is composed of fields怎么翻译)
2025年4月2日 17:30

pycharm和eclipse选哪个(写python时用什么编辑器好)
2025年2月17日 09:10

js中 将 数字格式化为 小数点后保留2位 怎么弄?js格式化
2025年2月10日 15:50

the British Isles是什么意思?Isle怎么读
2025年3月29日 01:40