1.总是使用var
在javascript中,变量不是全局范围的就是函数范围的,使用”var”关键词将是保持变量简洁明了的关键。当声明一个或者是全局或者是函数级(function-level)的变量,需总是前置”var”关键词,下面的例子将强调不这样做潜在的问题。
不使用 Var 造成的问题
var i=0// This is good - creates a global variable
function test() {
for (i=0i<10i++) {
alert("Hello World!")
}
}
test()
alert(i)// The global variable i is now 10!
因为变量函数中变量 i 并没有使用 var 使其成为函数级的变量,在这个例子中它引用了全局变量。总是使用 var 来声明全局变量是一个很多的做法,但至关重要的一点是使用 var 定义一个函数范围的变量。下面这两个方法在功能上是相同的:
正确的函数
function test() {
for (var i=0i<10i++) {
alert("Hello World!")
}
}
2.使用方括号方法
当访问由执行时决定或者包括要不能用”.”号访问的对象属性,使用方括号记法。如果不是一个经验丰富的Javascript程序员,总是使用方括号是一个不错的做法
对象的属性由两种固定的方法来访问:”.”记法和”[ ]“方括号记法:
“.”号记法
MyObject.property
“[ ]“方括号记法
MyObject["property"]
使用”.”号,属性名是硬代码,不能在执行时改变。使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。字符串要以是硬代码,也可能是变量,甚至可以是一个调回一个字母串值的函数。 如果一个属性名在执行产生,方括号是必须,如果有 “value1″, “value2″, 和 “value3″这样的属性,并且想利用变量 i=2来访问。
还有很多。在以后的编码过程中,慢慢的总结。
目前前端使用率最高的就是sublime 和 webstorm了,当然了还有visual ,DW, 等等。下面仅介绍一些sublime和webstorm。1.Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。2.WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。功能编辑JavaScript· 基于DOM,特定浏览器完成· 编码导航和用法查询· 支持ECMAScript· 支持CoffeeScript· 支持结点· JavaScript重构· JavaScript单元测试· 代码检测和快速修复· JSLint/JSHint· 基于 Mozilla的JavaScript调试器其他用途· 批量代码分析· 编码语言混合或内混· 拼写检查器· 重复代码检测器编辑语言· 支持HTML5· css/js· 检验和快速修复· Zen编码· 显示内容· 显示应用的风格便捷的环境· HTML5样本文件和其他Web应用程序模板· FTP和远程文件同步· 集成了版本控制系统· 本地记录优势功能编辑智能的代码补全支持不同浏览器的提示,还包括所有用户自定义的函数(项目中)代码补全包含了所有流行的库,比如:JQuery, YUI, Dojo, Prototype, Mootools and Bindows。代码格式化代码不仅可以格式化,而且所有规则都可以自己来定义html提示大家经常在js代码中编写html代码,一般来说十分痛苦,不过有了智能提示,就爽多了。而且html里面还能有js提示。联想查询只需要按着Ctrl键点击函数或者变量等,就能直接跳转到定义;可以全代码导航和用法查询 (8张) 项目查找函数或者变量,还可以查找使用并高亮。代码重构这个操作有些像Resharper,熟悉Resharper的用户应该上手很快,支持的有重命名、提取变量/函数、内联变量/函数、移动/复制、安全删除等等。代码检查和快速修复可以快速找到代码中的错误或者需要优化的地方,并给出修改意见,快速修复。代码调试支持代码调试,界面和IDEA相似,非常方便。代码结构浏览可以快速浏览和定位代码折叠功能虽小,不过胜在方便高效包裹或者去掉外围代码自动提示包裹或者去掉外围代码,一键搞定需要先下载安装nodejs即服务器端的js,语法和浏览器端的一样,
write.js
var fs = require("fs")var data = '我是新写入的内容'
// 创建一个可以写入的流,写入到文件 output.txt 中
var writerStream = fs.createWriteStream('output.txt')
// 使用 utf8 编码写入数据
writerStream.write(data,'UTF8')
// 标记文件末尾
writerStream.end()
// 处理流事件 --> data, end, and error
writerStream.on('finish', function() {
console.log("写入完成。")
})
writerStream.on('error', function(err){
console.log(err.stack)
})
console.log("程序执行完毕")
打开cmd,cd到当前目录,node main
文件就创建写入了。
下面这种方法,只支持老版本的ie浏览器ie8及以下;
var fso, f1, f2, sfso = new ActiveXObject("Scripting.FileSystemObject")
f1 = fso.CreateTextFile("c:\\testfile.txt", true)
// 写一行
f1.Write("This is a test.")
// 关闭文件
f1.Close()
// 获取C:\根目录下的文件句柄
f2 = fso.GetFile("c:\\testfile.txt")
// 移动文件到\tmp目录下
f2.Move ("c:\\tmp\\testfile.txt")
// 拷贝文件到\temp目录下
f2.Copy ("c:\\temp\\testfile.txt")
// 获取文件句柄
f2 = fso.GetFile("c:\\tmp\\testfile.txt")
f3 = fso.GetFile("c:\\temp\\testfile.txt")
// 删除文件
f2.Delete()
f3.Delete()