由于在js中不能正确的处理BigNumber,所以需要引入web3.js依赖的大数处理的库。
但是20位以上的浮点数会出错,推荐使用wei作为单位,再向用户展示的时候再将wei转换为其他单位可以避免此类错误
成功后,在remix中可以显示部署的合约交易信息
在本地geth的日志中,可以看到挖矿成功,并将合约写入区块的信息
法五,若合约已经部署到链上,则可以通过abi以及合约地址,得到合约
今天小编要跟大家分享的文章是关于Web前端新手应该知道的JavaScript开发技巧有哪些?熟悉Web前端的小伙伴都知道,Javascript的很多扩展的特性是的它变得更加的犀利,同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站。
尽管很多的开发人员都乐于颂扬javascript,但是仍旧有人看到它的阴暗面。
使用很多javascript代码的Web页面会加载很慢,过多的使用javascript使得网页丑陋和拖沓。很快如何有效地使用
javascript成为一个非常火热的话题。
今天小编就为Web前端新手准备了这篇JavaScript开发技巧,希望能够对你有所帮助,下面我们一起来看一看吧!
1、尽可能的保持代码简洁
可能大家都听到过了N遍这个代码简洁问题了。作为一个开发人员你可能在你的代码开发过程中使用了很多次,但千万不要在js开发中忘记这点。
§尽量在开发模式中添加注释和空格,这样保持代码的可读性
§在发布到产品环境前请将空格和注释都删除,并且尽量缩写变量和方法名
§使用第三方工具帮助你实现压缩javascript。
2、思考后再修改prototypes
添加新的属性到对象prototype中是导致脚本出错的常见原因。
yourObject.prototype.anotherFunction='Hello'
yourObject.prototype.anotherMethod=function(){...}
在上面代码中,所有的变量都会被影响,因为他们都继承于yourObject。这样的使用会导致意想不到的行为。所以建议在使用完后删除类似的修改。
yourObject.prototype.anotherFunction='Hello'
yourObject.prototype.anotherMethod=function(){}
test.anotherMethod()
deleteyourObject.prototype.anotherFunction='Hello'
deleteyourObject.prototype.anotherMethod=function(){}
3、DebugJavascript代码
即使最好的开发人员都会犯错。为了最大化的减少类似错误,请在你的debugger中运行你的代码,确认你没有遇到任何细微的错误。
4、避免Eval
你的JS在没有eval方法的时候也可以很好的工作。eval允许访问javascript编译器。如果一个字符串作为参数传递到
eval,那么它的结果可以被执行。
这会很大的降低代码的性能。尽量避免在产品环境中使用eval。
5、最小化DOM访问
DOM是最复杂的API,会使得代码执行过程变慢。有时候Web页面可能没有加载或者加载不完整。最好避免DOM。
6、在使用javascript类库之前先学习javascript
互联网充斥着很多的javascript类库,很多程序员都往往使用js类库而不理解负面影响。强烈建议你在使用第三方类库之前学习基本的JS
代码,否则,你就准备着倒霉吧。
7、不要用“SetTimeOut”和“Setinterval”方法来作为“Eval”的备选
setTimeOut("document.getID('value')",3000)
在以上代码中document.getID(‘value’)在setTimeOut方法中被作为字符串来处理。这类似于eval
方法,在每个代码执行中来执行一个字符串,因此会降低性能,因此,建议在这些方法中传递一个方法。
setTimeOut(yourFunction,3000)
8、[]比newArray()更好
一个常犯的错误在于使用当需要数组的时候使用一个对象或者该使用对象的时候使用一个数组。但是使用原则很简单:
“当属性名称是小的连续整数,你应该使用数组。否则,使用一个对象”_DouglasCrockford,JavaScript:Good
Parts的作者.
建议:
vara=['1A','2B']
避免:
vara=newArray()
a[0]="1A"
a[1]="2B"
9、尽量不要多次使用var
在初始每一个变量的时候,程序员都习惯使用var关键字。相反,建议你使用逗号来避免多余的关键字,并且减少代码体积。如下:
varvariableOne='string1',
variableTwo='string2',
variableThree='string3'
10、不要忽略分号“”
这往往是大家花费数个小时进行debug的原因之一。
我很确信你肯定也在其它的文章中阅读过以上相关的内容,但是大家可能往往都忽略了很多基本的规则。你是不是也曾经忽略过分号。是不是也遇到过eval
关键字问题导致性能问题?
以上就是小编今天为大家分享的关于Web前端新手应该知道的JavaScript
开发技巧有哪些?的文章,希望本篇文章能够对刚刚接触Web前端行业的新手们有所帮助。想要了解更多Web前端知识记得关注北大青鸟Web前端培训官网!
*声明:内容与图片均来源于网络(部分内容有修改),版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
在以太坊的DAPP开发中,需要 页面开发 和 智能合约 开发,页面开发需要 H5 , 智能合约 开发用 Solidity 实现。页面和以太坊智能合约交互,就需要使用 Web3.js 。
Geth 控制台(REPL)实现了所有的 web3 API 及 Admin API ,如果你对Geth命令行不太熟悉,请参考之前的文章。
以太坊客户端Geth常用命令详解
重定向日志到文件
使用geth console启动时,会在当前的交互界面下时不时出现日志。
可以使用以下方式把日志输出到文件。
可以新开一个命令行终端输入以下命令查看日志:
重定向另一个终端
也可以把日志重定向到另一个终端,先在想要看日志的终端输入:
就可以获取到终端编号,如:/dev/test
然后另一个终端使用:
启动geth, 这是日志就输出到另一个终端。
如果不想看到日志还可以重定向到空终端:
日志级别控制
使用–verbosity可以控制日志级别,如不想看到日志还可以使用:
另外一个启动geth的方法是连接到一个geth节点: