太阳集团城8722(中国·Macau)有限公司-Official website

掌握太阳集团城8722最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

前端新手超实用教程:如何使用JavaScript和HTML创建随机名言生成器

 这篇文章是针对初学者所写的,其目的是帮你学会使用JavaScript制作简单的web应用。它将帮你理解JavaScriptHTML之间的关系与合作方式。

 如果你对HTMLJavaScript完全没有任何经验,也不用担心。我将会讲解每一行代码,并且做到尽可能的详细。在读完这篇文章之后,你将会对JavaScriptHTML的关系有一个更深的了解。

 我们将会做一个随机名言生成器,每一次点击的时候,它都会在屏幕上随机显示出一个名人名句。要想完成这个项目,你需要下面这三样东西,其实每一个web项目都会使用到它们:

  • 浏览器
  • 文本编辑器
  • 开发web应用的热情

 在这篇文章中,我将会使用谷歌的Chrome浏览器、Sublime Text 3编辑器,当然,还有我对编程和传授编程技巧的热情。关于浏览器和编辑器,你喜欢哪个就用哪个,不必和我使用一样的工具。

 我们现在就开始吧。

 第一步,就是创建一个文件夹,我们将会把所有文件都放在这个文件夹内。在桌面上创建一个新文件夹,将其命名为名言生成器。打开Sublime Text,将文件夹拖进去。现在你应该可以在侧边栏看到这个文件夹了。

 

在桌面上创建空白文件夹

 

将文件夹拖到Sublime Text中,你可以在侧边栏看到这个文件夹

大多数web项目,都由至少一个HTMLJavaScriptCSS文件组成。我们现在在这个文件夹内创建这些文件。

Sublime Text中,右键点击名言生成器文件夹,然后单击创建新文件。之后底部会弹出一个输入栏,你需要在这里对文件进行命名。输入“index.html”然后回车。这样你就创建好了index.html文件。继续重复这一步两次,创建 javascript.jsstyle.css文件。需要注意的是,在给文件命名的时候,一定要全部使用小写字母。

 

文件看上去应该是这样的

在创建完文件之后,我先来写HTML,它将会是整个项目的基石。先来准备HTML文档的基本框架。下图就是还没有写内容的HTML文档。你可以把它想象成HTML文档的骨架,之后我们将会一点点的丰富它。


现在我们来将JavaScriptHTML文档进行连接,这样JavaScript代码就能够配合HTML一起工作了。我们还需要在<font>标签内添加文本,例如</font><h1><font>元素、带有</font>“quoteDisplay”<font>这个</font>id<font>的</font><div><font>元素,还有一个</font><button><font>元素,其</font>onclick<font>属性应该为</font> “newQuote()”<font>。</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/v9YR5nwKXoVDHpHxSut9.jpg" width="643" height="315"> <br></p><p><b><font>详细讲解</font></b></p><p><font>如果上图中的</font>HTML<font>让你有点迷惑,不知道每一行代码起到的都是什么作用,那我就在这里给你详细讲解。如果你已经学过基本的</font>HTML<font>,那么这一部分你可以直接跳过。</font></p><p><font>首先,我们在</font> <title><font>标签内添加了</font>“Quote Gen”<font>。这个标签会读取内部的文本,然后将其显示在浏览器的标签上,请看下图:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/MgdkPCurJWz7Pqs6sSVU.jpg" width="643" height="107"> <br></p><p><font>在这一步中,我们还让</font>HTML<font>文档连接了</font>javascript.js<font>这个文件,方法就是在</font><body><script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> <h1><a href="/" target="_blank">太阳集团城8722(中国·Macau)有限公司-Official website</a></h1><font>标签结束之前添加了一个</font><script><font>标签:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/-cfmJy4St1dkiPNPoLSE.jpg" width="532" height="38">  <br></p><p><font>其次,我们还创建了一个</font><h1><font>标签,里面写的内容为</font>“Simple Quote Generator”<font>。这个文本将会显示在页面上:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/e4FhJb-7NcyOhMWT-gfS.jpg" width="643" height="188">  <br></p><p><font>之后,我们还创建了一个</font><div><font>元素,并且给其指定了一个名为</font>“quoteDisplay”<font>的</font>id<font>。</font><div><font>元素的作用是区分</font>HTML<font>文档的各个部分,它可以帮助我们组织页面上内容的结构。</font></p><p>id<font>属性的作用,是扮演识别符的角色,让</font>JavaScript<font>能够轻松找到它,并且对其进行操作。在这个例子中,我们要使用</font>JavaScript<font>获取带有</font>“quoteDisplay”<font>这个</font>id<font>的元素,然后将名言放在</font><div><font>元素中。</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/DDBoJn2fCFUtrwwvPgzk.jpg" width="643" height="103"> <br></p><p><font>再次之后,我们还需要创建一个</font><button><font>元素,并且给其制定一个名为</font>“newQuote()”<font>的</font>onclick<font>属性。</font><button><font>元素,顾名思义,就是创建一个按钮,让用户去点击。</font>onclick<font>属性,就是用来设定按钮的函数的,也就是按钮的功能:你点击这个按钮之后,会出现什么效果。</font></p><p><font>在这个例子中,你每一次点击这个按钮,它就会运行</font>newQuote()<font>函数。不过我们还现在还没有定义</font>newQuote()<font>函数。如果你现在在浏览器中点击这个按钮,它会发挥一个错误提示,因为这个函数还不存在。</font><button><font>元素</font><font>所创建的按钮效果如下图:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/u6I0RzvVXha7lOQrFx4y.jpg" width="643" height="255"> </p><p> <font>最后我们来看一下整体效果,左边是代码,右边是浏览器中的额样子:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/8mWegUK5176Ssk-riTKT.jpg" width="643" height="206"> </p><p> <b><font>写代码之前的构思</font></b></p><p> <font>终于要开始写</font>JavaScript<font>代码了,在写好</font>JavaScript<font>代码之后,我的这个名言生成器就能正常工作了。</font></p><p> <font>但是在开始写代码之前,我们要先仔细构思一下。没有良好的计划,你是无法写出优秀的代码的。</font></p><p> <font>首先,我们要确定自己想要什么,以及何时需要它。对于这个项目来说,我们需要的就是名言。何时需要它?就是用户每一次点击按钮之后。</font></p><p> <font>现在我们已经解决了第一个问题。还有一个问题:名言是什么?我当然知道它是名人说过的话,我的意思是,站在技术角度上看,它是什么东西?</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/Leevvxsawg79zqnhmzZK.jpg" width="544" height="544"> </p><p> <font>名言其实就是字符串!</font></p><p> <font>名言就是由字母组成的,一个个字母组成了单词。在编程世界,单词被分类为字符串。也就是说,我们所显示的那些名言,其实就是字符串!</font></p><p> <font>因为我们需要多条名言,每一条都是随机显示的,因此我们最好将这些字符串储存在一个</font><a href="http://www.w3school.com.cn/jsref/jsref_obj_array.asp"><u><font>数组</font></u></a><font>中。</font></p><p> <font>数组中的元素,都拥有一个索引号码,在调用元素的时候,我们所依据的就是这个索引号。数组中,第一个元素的索引号为</font>0<font>,后面的依次加</font>1<font>。</font></p><p> <font>因此,要想调用这些名言,我们实际就是在调用索引号。换句话说,每当用户点击按钮的时候,我们就需要让其生成一个随机数字。之后,这个数字就会找到对应的索引号,调用这个索引号后面的名言,然后名言会被放在</font>HTML<font>文档中,显示在浏览器中。</font></p><p> <font>就是这几部,我们就想好了这个随机名言生成器的框架:</font></p><p> <font>名言,就是需要被储存在数组中的多个字符串。</font></p><p> <font>每一次按钮被点击之后,会随机生成一个整数。</font></p><p> <font>这个数字会与索引号相匹配。</font></p><p> <font>在通过索引号取回随机挑选的名言之后,我们需要将其放在</font>HTML<font>文档中。</font></p><p> <b><font>要开始写代码了!</font></b></p><p> <font>着急了吧?看了这么半天,一行代码都还没写呢!</font></p><p> <font>不过这就是编程世界。无论你是想把编程作为职业,还是只是作为爱好,在写代码之前,你都需要进行大量的思考。编程不是机械的敲键盘,更多的时候是要不断的思考。</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/YEzb0KYFzEJjikXSSEdq.gif" width="600" height="344"> </p><p> <font>在经过了周密的思考之后,我们可以开始写代码了。从现在开始,我们就要开始在</font>javascript.js<font>文件中进行操作。</font></p><p> <font>首先,在网上收集一些名言警句。</font></p><p> <font>我在网上找到了</font>10<font>条名言,然后将它们复制到一起,中间用逗号隔开。你要确保这些名言用单引号或是双引号括起来,如果你的名言中包含简写撇号、单引号或是双引号,你需要使用反斜杠来</font>escape<font>这些符号,这样</font>JavaScript<font>就知道这些符号是数字的一部分,而不是代码的语法符号。</font></p><p><font>如下图所示,我定义了一个名为</font>“quotes”<font>的变量,让它等于我在网上找到的那些名言。</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/WTOriKPFPnk0eCLKPOHi.jpg" width="643" height="136"> </p><p> <font>现在,我们需要创建之前所提到的</font>newQuote()<font>函数。我们的这个</font>newQuote()<font>,需要生成一个</font>0-9<font>的整数。</font></p><p> <font>首先,我们需要调用</font>Math.floor()<font>函数。这个函数的作用为向下取整。例如,如果我调用</font>Math.floor(5.7)<font>,它会舍去小数点之后的数字,返回一个为</font>5<font>的值。</font></p><p> <font>第二步,我们要把</font>Math.random()<font>作为一个参数</font>pass<font>给</font>Math.floor()<font>。</font>Math.floor()<font>的作用是在</font>0<font>和</font>1<font>之间随机生成一个小数。</font></p><p><font>假如:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/P1UxlfAJThjA0VD8bTMx.jpg" width="643" height="83"> </p><p> <font>如果我们现在就开始取数,它只能返回</font>0<font>。这是由于</font>Math.random()<font>只能生成</font>0<font>到</font>1<font>之间的小数,例如</font>0.4<font>、</font>0.721<font>、</font>0.98<font>等。而由于我们将</font>Math.random()<font>作为参数,</font>pass<font>给了</font>Math.floor()<font>,而</font>Math.floor()<font>的作用是永远向下取整,因此当他们配合在一起的时候,就只能返回</font>0<font>。</font></p><p> <font>这么左右有什么意义?要想创建数组索引号码,我们需要的是整数,而且它必须是一个随机出现的证书。因此我们需要</font>Math.random()<font>来生成一个随机数。要想避免永远返回</font>0<font>的局面,我们只需要让</font>Math.floor()<font>生成的随机数再乘以一个证书,例如</font>20<font>。</font></p><p><font>请看下图:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/t2-oY9drc9MzEZ8ShfoL.jpg" width="643" height="88"> </p><p> Math.random()<font>先随机生成一个小数,然后这个小数再乘以</font>20<font>,最后通过</font>Math.floor()<font>来向下取整。</font></p><p> <font>这样一来,我们最终得到的数字,就都是</font>1-19<font>之间的证书。我可以使用这些数字来对应名言数组的索引号。但是需要注意的是,所生成的数字,必须是在索引号的范围之内,否则就会出错。</font></p><p><font>例如:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/tNO4ZTxtft8lukmRg6Rg.jpg" width="238" height="80"> </p><p> <font>我当前只有</font>10<font>个名言,它们的索引号在</font>0-9<font>之间。因此,我们需要让</font>Math.random()<font>乘以名言的数量,而不是之前的</font>20<font>。这样一来,我们就可以保证生成的随机数字在</font>0-9<font>之内。如下图:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/wXBQYWr57OMNR5sbZDFj.jpg" width="643" height="67"> </p><p> <font>为什么不直接乘以</font>10<font>?你能保证自己以后不会添加新的名言吗?没添加一条,你都要手动改变一次数字吗?</font></p><p> <font>现在,我们需要找到一个方法,使用</font>randomNumber<font>生成的值来取回相对应的名言,然后将其放在</font>HTML<font>文档中,在浏览器中显示出来。</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/nRGwCsc4_PHEhcajvUQW.jpg" width="643" height="47"> </p><p><font>将名言放在</font>HTML<font>文档中的</font>quoteDisplay<font>元素内</font></p><p> <font>还记得我们之前用</font>HTML<font>的</font>id<font>属性来允许</font>JavaScript<font>来获取并操纵</font>HTML<font>元素吗?这里我们就用上它了:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/nSovtP2ebEBivpq4X2bf.jpg" width="562" height="51"> </p><p> <font>使用</font>document.getElementById()<font>,我们可以让</font>JavaScript<font>在</font>HTML<font>中查到之前的那个</font>id<font>。我们还要将</font>quoteDisplay<font>作为具体参数,来取回带有</font>“quoteDisplay”<font>这个</font>idHTML<font>元素。</font></p><p> <font>现在,我们需要使用</font>.innerHTML<font>这个方法,将取回的名言作为值,添加到</font>HTML<font>中的</font>quoteDisplay<font>元素中:</font> <br></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/w0PPwfORCGGIA74uiNv6.jpg" width="643" height="34"> </p><p> <font>我们让</font>innerHTML<font>等于带有</font>randomNumber<font>变量的名言数组。现在</font>newQuote()<font>这个函数就做好了!</font></p><p> <font>你的</font>javascript.js<font>文件看上去应该类似这样:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/2Uy2hnZELcPOGV9AlPto.jpg" width="643" height="179"> </p><p> <font>任务完成!</font></p><p> <font>做到这一步,我们的随机名言生成器就做好了!恭喜!</font></p><p> <font>现在你要做的,就是在浏览器中打开这个项目,看看它是否能正常工作。你需要将</font>index.html<font>拖到浏览器中就好了。</font></p><p> <font>用鼠标点击那个按钮,它应该就会显示出随机名言了。</font></p><p> <font>如果你有心情的话,你还可以添加更多的名言。</font></p><p> <font>具体效果:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/Hct71GPxD6sNvt-uLXHx.jpg" width="643" height="521"> </p><p> <font>项目源代码:</font></p><p data-align="center"><img src="https://dn-sdkcnssl.qbox.me/editor/BBbJbKq-DofXD5hU66ex.jpg" width="643" height="152"> <br></p><p><font>下面要做什么?</font></p><p><font>你可能会觉得这个随机名言生成器不太好看。</font></p><p><font>没错,看上去是有点</font>“<font>朴实</font>”<font>。不过你可以给它添加更多的功能或是样式。</font></p><p> <font>在文章的一开头,我还让你创建了一个</font>style.css<font>文件,还记得吗?你可以在这个文件里使用</font>CSS<font>来美化这个页面。</font></p><p><font></font> <br></p><p data-align="center"><img alt="sdk.jpg" src="https://dn-sdkcnssl.qbox.me/editor/BHYLloll5mviRrBOR7r3.jpg"><br></p><p>原文来自:<a href='https://www.sdk.cn'>SDK.cn</a></p> <p class="declaration">声明:所有来源为<a href="">“澳门太阳集团城网址8722”</a>的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com</p> </div> <!-- 点赞分享 开始 --> <div class="details-ls"> <div class="like" dlike="42" ilike="0"> <img class="like-img" src="https://juheimage.oss-cn-hangzhou.aliyuncs.com/www/news/202209/like.svg" /> <img class="is-like-img" src="https://juheimage.oss-cn-hangzhou.aliyuncs.com/www/news/202209/like-click.svg" /> <span class="likes-num"></span> </div> <div class="share-box"> <div class="share" id="show-news-qrcode"> <img src="https://juheimage.oss-cn-hangzhou.aliyuncs.com/www/news/202209/share.svg" /> 分享 <div class="qrcode"><img src="https://juhecn.oss-cn-hangzhou.aliyuncs.com/news/qrcode/news-570.png" /><span class="triangle"></span></div> </div> </div> </div> <!-- 点赞分享 结束 --> <!-- 宣传图片 开始 --> <style> .float-wrapper { position: relative } .float-wrapper-pc .float-wrapper-content { position: relative; width: 820px; height: 120px; margin: 60px 0; border-radius: 8px; overflow: hidden } .float-wrapper-link { position: absolute; top: 0; bottom: 0; left: 0; right: 0 } .float-wrapper-img { width: 100%; height: 100% } @media screen and (min-width:751px) { .float-wrapper-pc { display: none } .float-wrapper-m { display: none!important } } @media screen and (max-width:750px) { .float-wrapper-pc { display: none!important } .float-wrapper-m { display: none } .float-wrapper-m { width: 6.9rem; height: 1.6rem; margin: .1rem auto -0.13rem; border-radius: .08rem; overflow: hidden } } </style> <div class="width1200 float-wrapper float-wrapper-pc"> <div class="float-wrapper-content"> <a class="float-wrapper-link" href="" target="_blank" rel="noopener"> </a> <img class="float-wrapper-img" src=""> </div> </div> <div class="float-wrapper float-wrapper-m"> <a class="float-wrapper-link" href="" target="_blank" rel="noopener"> </a> <img class="float-wrapper-img" src=""> </div> <!-- 宣传图片 结束 --> </div> <!-- 标签 开始 --> <div class="details-right"> <div class="industryH tag"> <a href="/wiki" title="API百科"> <strong>API百科</strong> </a> </div> <div class="tips-div"> <a href="/wiki/cid/1">生活服务</a> <a href="/wiki/cid/2">企业工商</a> <a href="/wiki/cid/3">金融科技</a> <a href="/wiki/cid/4">接口大全</a> <a href="/wiki/cid/5">电子商务</a> </div> <div class="api-zixun"> <div class="industryH api-zixun-title">API资讯</div> <div class="industryBorder"></div> <ul class="hot-ul" id="relateList"> <li><a href="/news/index/id/10303" target="_blank" rel="noopener noreferrer">什么是appcrash appcrash事件怎么解决</a></li> <li><a href="/news/index/id/10302" target="_blank" rel="noopener noreferrer">Python中Traceback详解(概念、内容、用处、应用示例)</a></li> <li><a href="/news/index/id/10301" target="_blank" rel="noopener noreferrer">路由器环回接口Loopback接口的定义和作用</a></li> <li><a href="/news/index/id/10300" target="_blank" rel="noopener noreferrer">深度学习中FLOPS的定义和计算公式 FLOPS、FLOPs和GFLOPs的区别</a></li> <li><a href="/news/index/id/10299" target="_blank" rel="noopener noreferrer">全角和半角的区别 全角和半角怎么切换</a></li> </ul> </div> <link rel="stylesheet" href="/css/v11/news/newsnew.css?v=1.3"> <div class="details-tuijian"> <div class="like-title">相关API</div> <ul class="tuijianapi"> <li> <a class="tuijianimg" rel="noopener" href="/docs/api/id/814"> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-788"></use> </svg> </a> <p class="apiname"><a href="/docs/api/id/814" rel="noopener">公安不良查询</a> </p> <div class="apides"> <span>公安七类重点高风险人员查询</span> <p class="apidescipe">公安七类重点高风险人员查询</p> </div> </li> <li> <a class="tuijianimg" rel="noopener" href="/docs/api/id/807"> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-789"></use> </svg> </a> <p class="apiname"><a href="/docs/api/id/807" rel="noopener">车辆过户信息查询</a> </p> <div class="apides"> <span>通过车辆vin码查询车辆的过户次数等相关信息</span> <p class="apidescipe">通过车辆vin码查询车辆的过户次数等相关信息</p> </div> </li> <li> <a class="tuijianimg" rel="noopener" href="/docs/api/id/351"> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-351"></use> </svg> </a> <p class="apiname"><a href="/docs/api/id/351" rel="noopener">银行卡五元素校验</a> </p> <div class="apides"> <span>验证银行卡、身份证、姓名、手机号是否一致并返回账户类型</span> <p class="apidescipe">验证银行卡、身份证、姓名、手机号是否一致并返回账户类型</p> </div> </li> <li> <a class="tuijianimg" rel="noopener" href="/docs/api/id/806"> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-788"></use> </svg> </a> <p class="apiname"><a href="/docs/api/id/806" rel="noopener">高风险人群查询</a> </p> <div class="apides"> <span>查询个人是否存在高风险行为</span> <p class="apidescipe">查询个人是否存在高风险行为</p> </div> </li> <li> <a class="tuijianimg" rel="noopener" href="/docs/api/id/805"> <svg class="icon" aria-hidden="true"> <use xlink:href="#icon-39"></use> </svg> </a> <p class="apiname"><a href="/docs/api/id/805" rel="noopener">全球天气预报</a> </p> <div class="apides"> <span>支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等</span> <p class="apidescipe">支持全球约2.4万个城市地区天气查询,如:天气实况、逐日天气预报、24小时历史天气等</p> </div> </li> </ul> </div> </div> <!-- 标签 结束 --> </div> <!-- 新闻详情 结束 --> </div> </section> <input type="hidden" name="subForm" id="sub-form" value="news570" /> <input type="hidden" name="frameRegId" id="frameRegId" value="11" /> <!-- 尾部footer区域 开始 --> <footer class="footer"> <div class="footer-top clearfix"> <div class="footer-top-container clearfix"> <div class="footer-link"> <dl> <dt> <a href="#" rel="">产品服务</a> </dt> <dd><a href="/docs?f=footer" rel="nofollow" >API市场:API数据应用服务专家</a> </dd> <dd><a href="/mcp?f=footer" target="_blank" rel="noopener nofollow" >MCP服务:LLM大模型专用数据仓库</a> </dd> <dd><a href="https://apimaster.juhe.cn/?f=footer" target="_blank" rel="noopener nofollow" >APIMaster:API全生命周期管理专家</a> </dd> <dd><a href="https://dataarts.juhe.cn/?f=footer" target="_blank" rel="noopener nofollow" >DataArts:数据敏捷治理专家</a> </dd> <dd><a href="https://quickBot.juhe.cn?f=footer" target="_blank" rel="noopener nofollow" >QuickBot:高效率数字化员工</a> </dd> <dd><a href="/vip?f=footer" rel="nofollow" >黑钻会员:百种数据无限使用</a> </dd> </dl> <dl> <dt> <a href="#" rel="">开发者</a> </dt> <dd><a href="https://sdk.cn?f=footer" target="_blank" rel="noopener nofollow" >开发者社区</a> </dd> <dd><a href="/bayarea?f=footer" target="_blank" rel="noopener nofollow" >BayArea</a> </dd> <dd><a href="https://chat.juhe.cn" target="_blank" rel="noopener nofollow" >JuheChat</a> </dd> </dl> <dl> <dt> <a href="#" rel="">关于太阳集团城8722</a> </dt> <dd><a href="/about?f=footer" rel="nofollow" >关于太阳集团城8722</a> </dd> <dd><a href="/news/listview?f=footer" rel="nofollow" >太阳集团城8722动态</a> </dd> <dd><a href="/agent?f=footer" rel="nofollow" >合作伙伴</a> </dd> <dd><a href="/qa?f=footer" rel="nofollow" >常见问题</a> </dd> <dd><a href="/complaints?f=footer" rel="nofollow" >投诉与建议</a> </dd> </dl> <dl> <dt> <a href="#" rel="">法律法规</a> </dt> <dd><a href="/legal?f=footer" rel="nofollow" >服务条款</a> </dd> <dd><a href="/privacy?f=footer" rel="nofollow" >隐私政策</a> </dd> <dd><a href="/declaration?f=footer" rel="nofollow" >反商业贿赂声明</a> </dd> </dl> <dl> <dt> <a href="#" rel="">快速入口</a> </dt> <dd><a href="/papi?f=footer" rel="nofollow" >API私有化部署</a> </dd> <dd><a href="/market?f=footer" rel="nofollow" >数据块下载</a> </dd> </dl> </div> <div class="footer-top-right"> <div class="footer-wechat"> <div class="wechat-pic"></div> <div class="wechat-intro"> <p class="wechat-title">关注太阳集团城8722</p> <p class="wechat-text">微信服务号二维码</p> </div> </div> <div class="footer-contact"> <p class="consult-title">售前咨询:<span class="consult-tel">0512-88869195 </span></p> <a class="footer-contact-btn" href="/contact" target="_blank" rel="noopener">联系我们</a> </div> </div> </div> </div> <div class="footer-middle"> <div class="footer-middle__container"> <div class="footer-middle__list clearfix"> <div>热门API:</div> <ul class="footer-middle__list-main clearfix"> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/54" target="_blank" rel="noopener">短信验证码</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/103" target="_blank" rel="noopener">身份证实名认证</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/213" target="_blank" rel="noopener">银行卡四要素验证</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/208" target="_blank" rel="noopener">手机号码实名认证</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/248" target="_blank" rel="noopener">手机号使用时长查询</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/264" target="_blank" rel="">人脸对比识别接口</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/287" target="_blank" rel="">身份证ocr识别</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/357" target="_blank" rel="">国际短信验证码</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/188" target="_blank" rel="">银行卡二要素验证</a> </li> </ul> </div> <div class="footer-middle__list clearfix"> <div>免费API:</div> <ul class="footer-middle__list-main clearfix"> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/1" target="_blank" rel="">IP地址</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/73" target="_blank" rel="">天气预报查询</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/235" target="_blank" rel="">新闻API接口</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/38" target="_blank" rel="">身份证号码查询</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/11" target="_blank" rel="">手机号码归属地查询</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/58" target="_blank" rel="">星座运势查询</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/29" target="_blank" rel="">股票数据API</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/api/id/573" target="_blank" rel="">黄金行情API接口</a> </li> </ul> </div> <div class="footer-middle__list clearfix"> <div>API相关:</div> <ul class="footer-middle__list-main clearfix"> <li class="footer-middle__list-main-li"> <a href="/docs/c2?f=flink" target="_blank" rel="noopener">数据服务API</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/e12?f=flink" target="_blank" rel="noopener">企业API接口</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/o1?f=flink" target="_blank" rel="noopener">免费接口大全</a> </li> <li class="footer-middle__list-main-li"> <a href="/wiki" target="_blank" rel="noopener">API百科</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/c4?f=flink" target="_blank" rel="noopener">金融科技API</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs" target="_blank" rel="">API接口大全</a> </li> <li class="footer-middle__list-main-li"> <a href="/news/listview/cid/99" target="_blank" rel="noopener">API资讯</a> </li> <li class="footer-middle__list-main-li"> <a href="/docs/e3?f=flink" target="_blank" rel="noopener">短信接口</a> </li> </ul> </div> </div> </div> <div class="footer-bottom-container"> <div class="footer-bottom clearfix"><div class="footer-bottom-left"><a href="http://www.jsdsgsxt.gov.cn/mbm/entweb/elec/certView.shtml?siteId=301146c087f2499ca507bfa91ab143ec" target="_blank" rel="noopener noreferrer nofollow"> <span class="footer-pic1"></span> </a> <a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=32059002001776" target="_blank" rel="noopener noreferrer nofollow"> <span class="footer-pic2"></span> <span>苏公网安备 32059002001776号</span> </a> <a class="footer-icp" href="https://beian.miit.gov.cn" target="_blank" rel="noopener noreferrer nofollow"> <span>苏ICP备14006450号-3</span> </a> <a class="footer-icp" href="https://juhe.oss-cn-hangzhou.aliyuncs.com/Businesslicense.png" target="_blank" rel="noopener noreferrer nofollow"> <span>营业执照</span> </a></div><div class="footer-bottom-right"><span>天聚地合(苏州)科技股份有限公司©版权所有</span></div></div> </div> </footer> <!-- 尾部footer区域 结束 --> <div class="contact-fixed" id="contact-fixed"> <div class="contact-phone"> <a class="contact-phone-a" href="/contact" target="_blank" rel="noopener"></a> <span class="contact-phone-span help-contact-phone"> 0512-88869195 </span> </div> <a class="contact-requirement" href="/requirement" target="_blank" rel="noopener"></a> </div> <div class="mobile-get-top"></div> <script> var jhct_theme = "default"; window.addEventListener('load', function() { // 不是移动端,加载太阳集团城8722Chat if (!isMobileNotPc()) { initJuheChat() } // 判断是否是小程序,小程序的话不显示联系信息,showContact = false isWechatMiniProgram() if (showContact) { if (isMobileNotPc()) { if (showMoblieTelContact) { initQiDianMobile(); // document.write('<script id="qd3009074039017639640d7f9f4b7ae4c8dc57a16f26" src="https://wp.qiye.qq.com/qidian/3009074039/017639640d7f9f4b7ae4c8dc57a16f26" charset="utf-8" async defer ><\/script>') document.getElementById('contact-fixed').style.display = 'block'; } } else { initQiDianPc() // document.write('<script id="qd30090740392abf5cbfda639a151410f4f6efa9f057" src="https://wp.qiye.qq.com/qidian/3009074039/2abf5cbfda639a151410f4f6efa9f057?v=1" charset="utf-8" async defer><\/script>') document.getElementById('contact-fixed').style.display = 'block'; } } }); // 初始化太阳集团城8722Chat function initJuheChat() { var jhct = document.createElement("script"); jhct.src = "//statics.juhe.cn/chat/quick/juhechat.quick.js?v=1.2"; jhct.async = true; document.body.appendChild(jhct) } // 初始化起点PC版 function initQiDianPc() { var qidian = document.createElement("script"); qidian.src = "https://wp.qiye.qq.com/qidian/3009074039/2abf5cbfda639a151410f4f6efa9f057?v=1"; qidian.id = 'qd30090740392abf5cbfda639a151410f4f6efa9f057' qidian.async = true; document.body.appendChild(qidian) } // 初始化起点移动端 function initQiDianMobile() { var qidian = document.createElement("script"); qidian.src = "https://wp.qiye.qq.com/qidian/3009074039/017639640d7f9f4b7ae4c8dc57a16f26"; qidian.id = 'qd3009074039017639640d7f9f4b7ae4c8dc57a16f26' qidian.async = true; document.body.appendChild(qidian) } function isMobileNotPc() { var check = false; (function(a) { if (/(android|ipad|playbook|silk|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i .test(a.substr(0, 4))) check = true })(navigator.userAgent || navigator.vendor || window.opera); return check; }; // 检测微信小程序环境 function isWechatMiniProgram() { let isMiniProgram = false; // 方法 1:检测微信全局变量(忽略类型错误) try { // @ts-ignore isMiniProgram = window.__wxjs_environment === 'miniprogram'; } catch (e) { console.warn('微信环境变量检测失败', e); } // 方法 2:UserAgent 检测(兜底) if (!isMiniProgram) { isMiniProgram = navigator.userAgent.toLowerCase().indexOf('miniprogram') > -1; } showContact = !isMiniProgram; console.log('是否在微信小程序中:', isMiniProgram); } </script> <!--[if lt IE 9]> <div id="ieMsg-div" style="background:rgba(26,138,250,1);text-align:center;color:#fff; padding: 30px; position: fixed; bottom:0; left: 0; right:0; z-index:1111;"> <p style="font-size:20px">为了更好的体验,请使用谷歌,火狐,360或高于IE8的浏览器。</p> <span id="close-IEtest" style="position: absolute; right: 20px; top:8px; color: #f6f6f6; font-size: 20px; font-weight: bold; cursor:pointer;">×</span> </div> <script> var closeIE = document.getElementById('close-IEtest'); var IEmsgDiv = document.getElementById('ieMsg-div'); closeIE.onclick = function() { IEmsgDiv.style.display = 'none' } </script><![endif]--> <script src="https://main-statics.juhe.cn/jquery/jquery.min.js" type="text/javascript" charset="utf-8"></script> <script src="https://main-statics.juhe.cn/jquery/jquery.form.min.js" type="text/javascript" charset="utf-8"></script> <script src="https://main-statics.juhe.cn/layer/layer.js?1.4" type="text/javascript" charset="utf-8"></script> <script src="https://main-statics.juhe.cn/jquery/jquery.cookie.js" type="text/javascript"></script> <script> var regStart = '2021-06-21 00:00:00'; var sTime = Math.ceil(new Date().getTime() / 10); var dashboardUrl = "https://dashboard.juhe.cn"; var dashboardHome = "https://dashboard.juhe.cn/home"; var denyQue; if (!denyQue) { denyQue = window.setInterval(function() { var msg = ''; var salt = $.cookie('jh-dtaf4a8u96q0iiqsba9g8a'); if (salt == 4) { msg = '账户已被禁用,如有疑问请联系客服'; } else if (salt == 99) { msg = '账户已被注销,如有疑问请联系客服'; } if (msg != '') { window.clearInterval(denyQue); layer.msg(msg, { icon: 0, time: 5000, shade: 0.3, shadeClose: true }, function() { location.href = '/logout'; }); $.cookie('jh-dtaf4a8u96q0iiqsba9g8a', 0, { path: '/', domain: '.juhe.cn' }); } }, 1000); } </script><script src="/js/v11/headerFooter/header.min.js?v=12.1.214"></script> <script src="https://main-statics.juhe.cn/t/2644843/5e80d506e92b725c/iconfont.js" type="text/javascript"></script> <script src="/js/common/common.min.js?v=12.1.21"></script> <script src="https://main-statics.juhe.cn/jquery/jquery.jh.js?v=12.1.21" type="text/javascript"></script> <script src="/js/v10/headerFooter/setCss.min.js?v=12.1.21"></script> <script src="/js/common/registerPop.min.js?v=12.1.213" type="text/javascript"></script> <script type="text/javascript"> var siteHost = ""; var _token = "rDViVaC9DFSM2O5YsveurtGAW2qR7LnYvY1xlud3"; if (typeof jsQueryRef === 'function') { setTimeout(jsQueryRef, 300) } </script> <!-- m端footer 注册and登录模块 开始 --> <link rel="stylesheet" href="/css/v7/headerFooter/mobileFooterRegLog.css?v=12.1.21"> <div class="m-rigister register"> <div class="register-main"> <div class="register-name">数 据 驱 动 未 来</div> <div class="register-tip clearfix"> <span>Data</span> <span class="line"></span> <span>Drives</span> <span class="line"></span> <span>The</span> <span class="line"></span> <span>Future</span> </div> <div class="register-link"> <a href="/register" rel="noopener">立即注册</a> </div> </div> </div> <!-- m端footer 注册and登录模块 结束 --> <!-- 移动端footer 开始 --> <div class="mobile-footer"> <div class="mobile-footer__phone"> <a href="tel:0512-88869195 "> 售前咨询:0512-88869195 </a> </div> <div class="mobile-footer__copyright">天聚地合(苏州)科技股份有限公司©版权所有</div> <div class="mobile-footer__permit">增值电信业务经营许可证:苏B2-20140496   苏ICP备14006450号-3</div> <div class="mobile-footer__record"> <img src="https://img.juhe.cn/www/v10/footer/mobile-footer__record01.png" alt="" loading="lazy"> <img src="https://img.juhe.cn/www/v10/footer/mobile-footer__record02.png" alt="" loading="lazy"> <span>苏公网安备 32059002001776号</span> </div> </div> <!-- 移动端footer 结束 --> <script src="/js/v6/news/highlightjs.js?v=12.1.21" type="text/javascript" charset="utf-8"></script> <script src="/js/v11/headerFooter/mobileHeader.min.js?v=12.1.21"></script> <script type="text/javascript"> hljs.initHighlightingOnLoad(); </script> <script src="/js/common/banner.min.js?v=12.1.21"></script> <script src="/js/v10/news/details.min.js?v=12.1.212"></script> <script type="application/ld+json"> { "@context": "https://ziyuan.baidu.com/contexts/cambrian.jsonld", "@id": "/news/index/id/570", "appid": "1688676197304614", "title": "前端新手超实用教程:如何使用JavaScript和HTML创建随机名言生成器_澳门太阳集团城网址8722 - 天聚地合", "images": ["https://dn-sdkcnssl.qbox.me/editor/pJbc89LEfIoMaP-y44Hi.jpg","https://dn-sdkcnssl.qbox.me/editor/zvDXMHYxSVKJZKlippy-.jpg","https://dn-sdkcnssl.qbox.me/editor/acH0X0qxXkCtkzGsa4Q4.jpg","https://dn-sdkcnssl.qbox.me/editor/GdCB1Ubuxn8L2A80owXv.jpg","https://dn-sdkcnssl.qbox.me/editor/v9YR5nwKXoVDHpHxSut9.jpg","https://dn-sdkcnssl.qbox.me/editor/MgdkPCurJWz7Pqs6sSVU.jpg","https://dn-sdkcnssl.qbox.me/editor/-cfmJy4St1dkiPNPoLSE.jpg","https://dn-sdkcnssl.qbox.me/editor/e4FhJb-7NcyOhMWT-gfS.jpg","https://dn-sdkcnssl.qbox.me/editor/DDBoJn2fCFUtrwwvPgzk.jpg","https://dn-sdkcnssl.qbox.me/editor/u6I0RzvVXha7lOQrFx4y.jpg","https://dn-sdkcnssl.qbox.me/editor/8mWegUK5176Ssk-riTKT.jpg","https://dn-sdkcnssl.qbox.me/editor/Leevvxsawg79zqnhmzZK.jpg","https://dn-sdkcnssl.qbox.me/editor/YEzb0KYFzEJjikXSSEdq.gif","https://dn-sdkcnssl.qbox.me/editor/WTOriKPFPnk0eCLKPOHi.jpg","https://dn-sdkcnssl.qbox.me/editor/P1UxlfAJThjA0VD8bTMx.jpg","https://dn-sdkcnssl.qbox.me/editor/t2-oY9drc9MzEZ8ShfoL.jpg","https://dn-sdkcnssl.qbox.me/editor/tNO4ZTxtft8lukmRg6Rg.jpg","https://dn-sdkcnssl.qbox.me/editor/wXBQYWr57OMNR5sbZDFj.jpg","https://dn-sdkcnssl.qbox.me/editor/nRGwCsc4_PHEhcajvUQW.jpg","https://dn-sdkcnssl.qbox.me/editor/nSovtP2ebEBivpq4X2bf.jpg","https://dn-sdkcnssl.qbox.me/editor/w0PPwfORCGGIA74uiNv6.jpg","https://dn-sdkcnssl.qbox.me/editor/2Uy2hnZELcPOGV9AlPto.jpg","https://dn-sdkcnssl.qbox.me/editor/Hct71GPxD6sNvt-uLXHx.jpg","https://dn-sdkcnssl.qbox.me/editor/BBbJbKq-DofXD5hU66ex.jpg"], "description": " 这篇文章是针对初学者所写的,其目的是帮你学会使用JavaScript制作简单的web应用。它将帮你理解JavaScript和HTML之间的关系与合作方式。", "pubDate": "2016-10-21T00:00:00", "upDate": "2016-10-21T00:00:00" } </script> <script> var params = {}; (function () { params.pageType = getMetaAttributes('view-path-attr', 'pageType', ''); params.did = getMetaAttributes('dataId', 'did', 0); params.cid = getMetaAttributes('dataId', 'cid', ''); params.username = getCookie('_f91834e654f46d9ed5afc3c0d') || ''; var ma = document.createElement('script'); ma.type = 'text/javascript'; ma.async = true; ma.src = 'https://analytics.juhe.cn/in.js?v=12.1.21'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ma, s); })(); </script> <!-- 百度统计 start--> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?5d12e2b4eed3b554ae941c0ac43c330a"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- 百度统计 end--> <!-- juhe pv start--> <script type="text/javascript"> var jhLogs = { agent: 'PC', sign: Math.ceil(new Date().getTime() / 10) }; var svs = "12.1.21"; (function() { var jhpv = document.createElement("script"); jhpv.src = "https://main-statics.juhe.cn/jquery/jquery.pv.js?v=" + svs; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(jhpv, s); })(); </script> <!-- juhe pv end--> <script> window.addEventListener('load', function() { // 初始化谷歌统计 initGoogle(); initClarity(window, document, "clarity", "script", "bnge4v9t4y"); }) // 谷歌统计 function initGoogle() { var google = document.createElement("script"); google.src = "https://www.googletagmanager.com/gtag/js?id=G-V6SP4PZ234"; google.async = true; document.body.appendChild(google) window.dataLayer = window.dataLayer || []; gtag('js', new Date()); gtag('config', 'G-V6SP4PZ234'); } // 微软统计 // (window, document, "clarity", "script", "bnge4v9t4y") function initClarity(c, l, a, r, i) { c[a] = c[a] || function() { (c[a].q = c[a].q || []).push(arguments) }; var clarity = document.createElement("script"); clarity.async = true; clarity.src = "https://www.clarity.ms/tag/" + i; document.body.appendChild(clarity); } function gtag() { dataLayer.push(arguments); } </script> </body><div style="clear:both;padding:10px;text-align:center;margin:5"><a href="/sitemap.xml" target="_blank">XML 地图</a> </html>