Javascript学习待续
2009年08月01日
javascript学习(一)
前言
1.javascript是一种解释语言,不用事先编译。
2.javascipt是采用弱类型的语言,变量不用在使用前定义,可以即用即定义,它是动态类型语言。
3.javascript也是一种面向对象的语言。但是它没有‘类’的概念。
4.对象对方法,属性的引用和C#一样,也是通过’.‘来调用。用new运算符来声明实例!
5.as var now=new Date(); 这个Date()是一个方法,但我们可以把它看做一个类,因为没有类的概念
所以我们把这个函数的实例说成对象,而不是对象的实例。
6.javascript的编辑工具:dreamwear,1st javascript editor,ultra edit 32,MS notpad;建议使用
1st javascipt editor,本人都装了,不过还是觉得这个比较不错,因为这个有代码提示,对初学者
来说可能用MS notepad还是比较ok的啊,因为这个是手写的那么我们可以了解它的具体语法;
7.javascript 的代码理论上是可以写在网页上的任何位置,但通常我们是放在或者
中;
8.常用的两个输出:window的alert()方法可以输出警告框,document的write()方法可以在网页中输出文字;
9.注释比C#少一种///的,另外两种都可以!
10.最好在之间的代码用HTML的注释包围起来,这样为了防止旧版本的浏览器不支持
JavaScript;
11.在一个网页上可以出现多个,但是不能嵌套;
12.language属性指定语言的种类,但HTML支持使用type(mine)属性来进行命名;虽然explorer对language属性
支持的更好一点!
13.html代码执行的时候如果遇到script代码就会停下来执行script代码,知道script代码执行结束后,再
执行HTML代码;如果使用了defer关键字就让HTML不停执行,不停下来等script代码的执行,除非代码
中有document的write(),或者window的alert(),才会停止;
14.SRC属性同来指定外部文件的引入,
15.用JavaScript:在html中调用JavaScript的函数(自定义或者系统的都可以调用);
16.JavaScript还可以与事件结合调用,比如onmouseover.....
17.分号可以区分句子,回车也可以实现断句,空格在JavaScript被忽略(除非在string或者正则表达式中);
18.JavaScript区分大小写;19.===全等于(值相等,数据类型也相等) !== 不全等于 >>>(右移,零填充)
20.JS主要事件:
单击事件onClick
onChange改变事件
选中事件onSelect
获得焦点事件onFocus
失去焦点onBlur
载入文件onLoad
卸载文件onUnload
o
o
javascript(二)
数据类型和变量: 3种基本数据类型 1.字符串类型 这个和其他语言的差不多,关键是没有char类型。 2.数字类型 只有浮点型,特殊值 infinity(无限大),NaN(not a number) 也可以用Number这个对象来调出最大和最小值; 3.布尔型 只有true or false 特殊数据类型 1.函数 2.undefined 3.null 复合数据类型 1.对象 2.数组数据类型转换 1.JavaScript提供隐式转换,定义变量时不必声明数据类型,JavaScript会帮您在使用该变量时,自动帮您转换数据类型for example: if(1){ ....} 这时JavaScript会把1转换为true,非0的数值都可以转化为true,0转化为false; 2.JavaScript还提供显示的转换比如tostring(),ToNumber()等 JavaScript在数据进行运算的时候也可以隐式的转换数据类型;常量: 常量有整形(包括浮点型和整形)浮点型用科学计数法表示,也可以用一般数学的.号来分隔整数和小数; 字符串常量,中如果有“”的或者其他的容易混淆的符号就必须进行转义,用反斜杠表示,比如“/“/””; 此外还有布尔常量,和数组常量;变量:定义变量的时候如果是引用数据类型,比如对象或者是数组,并且如果没有参数,那么后面的大括号可以省略; JavaScript和一般语言一样必须先定义后使用,当然定义时可以省略var关键字,如果写了var关键字就不能用 delete关键字来删除,这个以后再写,至于命名方式和一般语言一样,头字母不能以数字开头,如果有两个以上 单词组成,那么第一个字符小写,第二个单词首字母大写的命名规则,这个和java一样,和.NET不一样; JavaScript允许重复定义相同的变量,函数也可以嵌套,这个和其他语言有区别; 还有就是定义了变量就必须在整个应用程序中给赋初值,否者就会产生一种数据类型undefined; 还有一个就是变量和有效范围必须注意;区分全局和局部的概念; JavaScript允许函数嵌套,所以必须清楚变量的有效范围,即:变量在内层函数中的可以在外层函数中使用,但 不能在更上一级的父类中使用;
javascript(三)
javascript开发工具集合
http://bbs.51js.com/forum-24-1.html 无忧脚本
http://www.w3schools.com/js/default.asp W3英文学校
http://www.8esky.com/handbook/Javascrīpt/contents.htm Javascrīpt 参考
(1)调试javascrīpt的好方法:
修改IE的设置:
IE的“选项-高级”,有两个选项默认是钩选的:
Disable scrīpt Debugging(Internet Explorer)
Disable scrīpt Debugging(Other)
中文可能是“禁用脚本调试”,去掉这两项的钩选。
在VS2005“工具-选项-调试-实时”,选中脚本调试。
在需要调试的地方加上debugger;例如:
..
debugger;
..
打开或刷新一下页面就进入断点了。
(2)Javascrīpt IDE开发工具:
1)软件Eclipse+Javascrīpt插件:
见本页-Java系列:-(7)Eclipse插件:-Javascrīpt插件。
2)软件1st Javascrīpt Editor Pro 3.8(有比较全面的智能提示,可以设计HTML代码)
http://www.yaldex.com/JSFactory_Pro.htm
1st javascrīpt editor 3.8破解
下载地址:http://download.csdn.net/source/163908
http://blog.csdn.net/hertcloud/archive/2007/04/03/1551053.aspx
使用破解后 程序启动后是不能智能提示的 需要在 设置里面打开(每次启动都需要手动打开..:)破解的不完善.)
3)软件AceHTML Pro v6.6 特别版(有一点智能提示但不是所需要的)
name:www.chinaz.com
sn:WRSG-XCQC-4XXZ-NCGS
4)软件Antechinus Javascrīpt Editor 9.0(有一点智能提示但不是所需要的)
5)软件Javascrīpt Plus! 4.1(无智能提示)
6)软件ScrypTik 1.14(无智能提示)
(3)Javascrīpt源码格式化
SourceFormatX-格式化js代码,可以格式被任何软件混淆的js代码,原样保留但中文注释会变成乱码,提供的功能多,界面专业,可以不修改源文件。
http://cn.textrush.com/integrate.htm
SourceFormatX 2.56 的注册破解版
http://hi.baidu.com/hn123/blog/item/41b10df44a75556edcc4742f.html
http://vxer.cn/downloads/SourceFormatX.rar
http://vxer.cn/downloads/SourceFormatX.rar SourceFormatX破解
仅一个功能“格式化目录”不能用(需要正版KEY解码)。使用的时候最好不要开调试器,filemon等工具,因为这个软件有主要的危险代码:
1,用winexec无限开窗口,直到你死机
2,删除你注册表,删了你肯定要重装了!
http://www.textrush.com/download/sfx256sp3.zip SourceFormatX SP3下载
使用 Key Maker 165 制作 内存补丁 针对 2.56 非SP
SP3 版本没有找到下载地址,CRACK提供的版本中部分菜单有英文,且功能莫明其妙,不知道是否有问题.
建议"等待进程闲置时修改"
带上做好的 MemPatch 程序.
http://bbs.pediy.com/attachment.php?attachmentid=3544&d=1164863022
SourceFormatX SP3 内存补丁 带上做好的 MemPatch 程序
http://bbs.pediy.com/attachment.php?attachmentid=3546&d=1164872805
Javascrīpt Code Improver-格式化js代码,可以格式被任何软件混淆的js代码,但只有第一个注释被保留且不是中文乱码,提供的修改参数少,界面简单,可以不修改源文件。
http://www.jcay.com/javascrīpt-code-improver.html
Javascrīpt Code Improver 中文语言包
http://blog.csdn.net/KimSoft/archive/2006/05/23/750407.aspx
polystyle-格式化js代码,不能格式被Javascrīpt Obfuscator软件混淆的js代码,很多js文件都不能完全格式化,原样保留但中文注释会变成乱码,提供的功能多,但界面混乱,提供右键格式化功能,不提供保存格式化后的文件的功能要自己copy粘贴,不修改源文件。
http://www.polystyle.com/integrations/
http://www.polystyle.com/walkthrough/
Trita 1.6a-格式化js代码
http://as.onlinedown.net/down/trita-source-formatter-windows-setup.exe
code:1748314567063
注册码:1734759207571
Javascrīpt源代码格式化工具
http://cn.textrush.com/formatter-javascrīpt.htm
MyEclipse中的默认的Javascrīpt编辑器提供了格式化格能,只要按一下(CTRL+SHIFT+F)就OK
在线格式化js代码
http://files.cnblogs.com/matrix/beautyjs.htm
http://www.div-css.com/f/tool/js-format-compress.html javascrīpt格式化及压缩工具
http://www.div-css.com/f/tool/js-format-color.html javascrīpt格式化及代码着色工具
(4)Javascrīpt源码混淆压缩
Jasob2.1-混淆器,混淆后不马上修改源文件,提示你保存,而且有两个窗口显示混淆前后的文件,不支持拖入文件,可打开嵌入到页面文件如.aspx文件里的js代码而且灰显其他代码只显示js代码。
http://www.jasob.com/Downloads.html
http://www.jasob.com/Features.html
Javascrīpt Obfuscator-混淆器,混淆后即将源文件修改了,但通过他生成的备份文件可以原样恢复,支持拖入文件,只能打开.js文件,不能打开嵌入到其他文件里的js代码。
http://www.javascrīpt-source.com/
http://www.javascrīpt-source.com/tutorial.html
http://www.javascrīpt-source.com/help.html
JsObfuscator2.01 Crack Version
http://www.sosuo8.com/article/show.asp?id=1383
JsMinGUI-javascrīpt脚本压缩工具,界面简单,没有修改参数的地方,只有一个压缩按钮,其自身没提供恢复被混淆的文件的功能,被混淆后的内容已经去掉了注释内容,支持拖入文件,只能混淆.js文件,不能混淆嵌入到其他文件里的js代码。
http://www.sosuo8.com/article/show.asp?id=1382
Javascrīpt Chaos Edition(JCE)-JCE Pro Obfuscator,要用命令才能混淆,而且好像只是将字符换成编码,代码的格式都没变,没怎么混淆。
http://www.syntropy.se/?ct=downloads
ESC 1.14-压缩工具,没找到安装文件。
功能比较全的一个压缩程序,压缩分为0-4个级别,其中level4可以对变量进行替换。不过不能对使用回车结尾的语句自动添加分号。
这款工具可自定义压缩级别和是否进行混淆,当然缺点也不是没有,压缩效果一般,而且要求每个JS语句必须以分号结尾,有大括号也不行。
http://www.saltstorm.net/depo/esc/?pod=js
X2JSCompactor-我没用过
http://www.jb51.net/downtools/X2JSCompactor.rar
Rob Seiler的packer-我没用过
这款压缩混淆工具效果也不错,有三种版本,.Net,Perl,和WSH版本,Windows平台下WSH脚本比较适合,命令行操作。
http://dean.edwards.name/download/
在线混淆js代码
http://www.bizstruct.cn/JavascrīptOnlineObfuscator/
http://editor.lionsky.net/JSConfusionWebDemo/
MemTronic's FREEWARE HTML/Javascrīpt Cruncher-Compressor v1.0k
压缩效果好得不一般,混淆出来的代码完全不可读,压缩率可达50%,IE 5+ / NS 7.0 / Mozilla / Opera 7.0 中均可使用
http://hometown.aol.de/_ht_a/memtronic/MemTronic_CruncherCompressor.html
(5)Javascrīpt模块代码:
1-2-3 Javascrīpt Library!
http://www.wyka-warzecha.com/website/products/javascrīpts/123library/index.htm 很好的javascript编辑工具 spket
一直在找支持Ext库的eclipse javascript插件。
用过一段时间aptana,不是很稳定,觉得不爽。
后来在Jack Slocum的blog中发现了spket,才发现这就是我要的。
支持Ext的code complete并附带code api comments。
spket官方网站在www.spket.com,目前最新版本是1.6.11
下了个压缩包,很庆幸的发现居然没做混淆,呵呵,那就不客气的拿来用了。
附件中是破解版。解压到eclipse目录中即可
在spket中添加Ext库支持的步骤如下:
Watch this Spket IDE Tutorial to see how to easily add Ext code assist (you can point it at the latest /src/ext.jsb to keep code assist up to date with the latest Ext version). The steps are basically:
Window → Preferences → Spket → JavaScript Profiles → New
Enter “ExtJS” and click OK
Select “ExtJS” and click “Add Library”, then choose “ExtJS” from the dropdown
Select “ExtJS” and click “Add File”, then choose the “ext.jsb” file in your “./ext-2.x/source” directory
Set the new ExtJS profile as the default by selecting it an clicking the “Default” button on the right-hand side of the “JavaScript Profiles” dialog.
Restart Aptana
Create a new JS file and type: Ext. and you should get the Ext Code completion options.
(四)基于对象的JavaScript语言
JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-oriented)。之所以说它是一门基于对象的语言,主要是因为它没有提供象抽象、继承、重载等有关面向对象语言的许多功能。而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统。
虽然JavaScript语言是一门基于对象的,但它还是具有一些面向对象的基本特征。它可以根据需要创建自己的对象,从而进一步扩大JavaScript的应用范围,增强编写功能强大的Web文档。
1.使用For...in语句,则根本不需要知道对象属性的个数,见下:
Function showData(object)
for(var prop in object)
document.write(object[prop]);
使用该函数时,在循环体中,For自动将的属性取出来,直到最后为此。 2.对象属性的引用:
使用点(.)运算符: university.Name=“广西”
通过对象的下标实现引用: university[0]=“广西”
通过字符串的形式实现 : university["Name"]=“广西”
发表评论
-
java
2012-01-20 10:35 711java 2010年12月16日 /* * 文件名: P ... -
开源代码网站总结
2012-01-20 10:35 1237开源代码网站总结 2011年04月07日 1. ... -
FMS helloworld
2012-01-20 10:35 613FMS helloworld 2011年05月17日 S ... -
as连接fms
2012-01-20 10:35 634as连接fms 2010年08月10日 ... -
Flash Media Server 应用笔记
2012-01-20 10:35 1000Flash Media Server 应用笔记 2010年0 ... -
使用hyk代理的XMPP模式和Seattle模式
2012-01-19 15:37 1175使用hyk代理的XMPP模式和 ... -
Fedora
2012-01-19 15:37 1370Fedora 2010年07月01日 ... -
开发者实用学习资源汇总
2012-01-19 15:37 708开发者实用学习资源汇总 2012年01月13日 导读:本 ... -
一些开源的P2P视频点播和直播项目
2012-01-19 15:37 2273一些开源的P2P视频点播 ... -
Eclipse插件大全 挑选最牛的TOP30(1~16)
2012-01-19 15:37 648Eclipse插件大全 挑选最牛的TOP30(1~16) 2 ... -
两因素促机构告别严寒迎暖春
2012-01-17 05:22 631两因素促机构告别严寒迎暖春 2012年01月13日 两因 ... -
呵呵,过年了…
2012-01-17 05:22 699呵呵,过年了… 8小时前 今天是小年,是隐约的炮响和零星 ... -
转角是晴天
2012-01-17 05:22 570转角是晴天 8小时前 昨天下午回到家中,吃了妈妈包的饺子 ... -
年前随记
2012-01-17 05:22 592年前随记 8小时前 据说这是年前最后一周,大概想在这最后 ... -
vb.net自动发帖器2(httpwebrequest实现)
2012-01-16 04:16 1316vb.net自动发帖器2(httpwebr ... -
莫名其妙地解决了原来怎么也解决不了的问题,这几天真玄乎
2012-01-16 04:16 555莫名其妙地解决了原来怎么也解决不了的问题,这几天真玄乎 20 ... -
QQ空间破解
2012-01-16 04:16 1718QQ空间破解 2009年07 ... -
基于UserControl模式快速创建Web Part
2012-01-16 04:16 689基于UserControl模式快速 ...
相关推荐
:keyboard: 未完待续... :writing_hand: 我为什么要这样做? 学习打字稿,玩笑等 了解有关javascript代码实现的知识。 :laptop: 计划 :hammer: 快速开始 生成code模板 npm run template 生成docs模板 npm run ...
深度学习500问——AI工程师面试宝典(博文视点出品),谈继勇主编,郭子钊,李剑,佃松宜副主编着 内容简介 本书系统地描述了深度学习的基本理论算法及应用。全书共14章,第1-3章引入了数学基础,机器学习基础和深度...
技术为主,读书笔记,随笔,理财为辅,做一个终身学习者。 收获不止技术,还有财富。 专栏 目录 文章 文章版权为夜尽天明所有,允许允许,不得转载;如要转载文章,请联系笔者。 Vue3.x 打字稿 软技能 前端工程师的...
虚拟音乐一个Vue.js项目构建设置# install dependenciesnpm install# serve with hot reload at localhost:8080npm run dev# build for production with minificationnpm run build# build for production and view ...
Bootstrap 的响应式设计、组件开发和 JavaScript 插件开发和 预处理脚本的开发方法,也是值得学习的。 源代码 源代码下载和编译 推荐到 GitHub 下载最新、最全的 Bootstrap 源代码。 GitHub 是 Bootstrap 源代码托管...
静态文件服务(未完成待续) Koa 原理 一个 nodejs 的入门级 http 服务代码如下, // index.js const http = require('http') const server = http.createServer((req, res) => { res.writeHead(200) res.end('...
nodejs-study一起学习一波 nodejs, 里面有比较全的代码和说明,后加上文档说明,欢迎取用学习目录清单1、nodejs系列教程(1) 2、nodejs 3分钟学会系列教程(2) supervisor commanjs nodejs模块 3、nodejs 3分钟...
学习React知识,钩子等学习有关化妆品的知识。 :hammer:用法未完待续... :handshake:贡献我们欢迎所有的贡献。您可以提交任何想法作为或GitHub。 :link:链接未完待续... :man::factory:作者前端开发工程师,技术堆栈...
编程学习之路 待续(学习至 web 开发处)hot~~使用 Spring Boot + Thymeleaf 搭建 Community 提问社区new~~Java 学习路线泛型多线程正则表达式JavaWebHTML & CSS codeJavaScriptJQuery codeServlet数据库...
未完待续... :handshake: 贡献 我们欢迎所有的贡献。 您可以提交任何想法作为或GitHub。 :link: 链接 :写作 :man::factory: 作者 前端开发工程师,技术堆栈:React + Typescript + Mobx,也使用了Vue + Vuex一...
Node.js_学习作者:高玉婷未完待续...
这个项目是使用React构建的纸牌游戏,旨在学习这一出色的工具。 规则(第一个原型) 每个玩家都可以玩纸牌,并在下一个回合中使用它。 攻击是一个接一个地执行的,但是您必须在所有这些动作实际开始之前声明所有...
GC处理器 GChandler = Garmin Connect(GG)+处理程序 ... 也就是说,您可以看到您的用户信息,显示您的活动列表,对活动进行降低,等等。如果已知包含信息的GC端点,则可以将新项目添加到索引页面中。...待续
ReactNativeUtil记录工作中遇到的一些问题(issues)收集一些工具类方便使用 在issure中通过label检索,欢迎大家丰富内容...目标是让大家轻松的学习rn。简书:CSDN:目前标签:(未完待续,欢迎补充)轮播 build PropTypes
简约睡眠 ...仅供学习交流~ 效果图 效果很满意,堪比原版。有兴趣的同学,可以尝试写着玩一玩~ 1 2 3 4 下一步计划 接入网易云音乐 用户账户信息 未完待续... 参考 Sketch 预览: Fir.im 下载地址: