【传智播客.Net培训】视频课件:javascript语言基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京传智播客教育
课前说明
l内容:JavaScript语言。JavaScript语法很多和C#、Java、C等语言类似,因此本课只讲JavaScript特有的语法,不会再讲解编程的基本原理。
l目标:掌握JavaScript语法,为Dom编程和JQuery打基础。
l参考书:张孝祥《JavaScript网页开发——体验式学习教程》
什么是JavaScript
l HTML只是描述网页长相的标记语言,没有计算、判断能力,如果所有计算、判断(比如判断文本框是否为空、判断两次密码是否输入一致)都放到服务器端执行的话网页的话页面会非常慢、用起来也很难用,对服务器的压力也很大,因此要求能在浏览器中执行一些简单的运算、判断。JavaScript就是一种在浏览器端执行的语言。
l JavaScript的Java没直接的关系,唯一的关系就是JavaScript原名LiveScript,后来吸收了Java的一些特性,升级为JavaScript。
JavaScript有时被简称为JS。
l JavaScript是解释型语言,无需编译就可以随时运行,这样哪怕语法有错误,没有语法错误的部分还是能正确运行。
JS的开发环境
l VS中JavaScript、JQuery的自动完成功能:在VS2010中直接有,VS2008需要安装VisualStudio 2008SP1(
/downloads/details.aspx?displaylang=zh-
cn&familyid=27673c47-b3b5-4c67-bd99-84e525b5ce61)和VS90SP1-KB958502-x86(
/KB958502/Release/ProjectReleases.a spx?ReleaseId=1736)补丁会更强更好用。如果实在“.”不出来也没关系,不影响运行。注意:先安装2008SP1,再安装VS90SP1-
KB958502-x86。
l JS是非常灵活的动态语言,不像C#等静态语言那样严谨,开发工具中的JS完成功能只是一个辅助、建议,“.”出来的成员调用可能不能用,“.”
不出来的成员也许也能调用,因此不要因为“点儿不出来”而担心代码有问题。
l VS2008的HTML编辑器中触发JavaScript自动完成:Ctrl+J。
JS入门
l
l alert(new Date().toLocaleDateString());
l
l。声明到单独的js文件的好处是多页面也可以共享、减小网络流量。js文件的CDN(*) l注意:不要写成否则会有问题,这是一个比较特殊的地方。
事件
l在超链接的点击里执行JavaScript: href="javascript:alert(88)">发发
l JavaScript中也有事件的概念,当按钮被点击的时候也可以执行JavaScript:
•
•只有超链接的href中的JavaScript中才需要加“"javascript:”,因为它不是事件,而是把“"javascript:”看成像“http:”、“ftp:”、
“thunder://”、“ed2k://”、"mailto:"一样的网络协议,交由js解
析引擎处理。只有href中这是这是一个特例。
JS除错与调试
l如果JavaScript中的代码有语法错误,浏览器会弹出报错信息,查看报错信息就能帮助排查错误。
l JavaScript的调试,使用VS可以很方便的进行JavaScript的调试,调试时需要注意几点:
•IE6的调试选项要打开,Internet选项→高级,去掉“禁用脚本调试”前的勾选。
•以调试方式运行网页。
•设置断点、监视变量等操作和C#一样。
l案例:用循环语句的方法计算1到100之间整数的和
判断变量初始化
JavaScript中判断变量、参数是否初始化的三种方法:var x;
if (x == null) {
alert("null");
}
if (typeof (x) == "undefined") {
alert('undefined');
}
if (!x) {alert('不x');}
if(x){}//变量被初始化了或者变量不为空或者变量不为0.推荐用最后一种方法。
函数的声明
l JavaScript中声明函数的方式:
function add(i1, i2) {
return i1 + i2;
}
int add(int i1,int i2)//C#写法
l不需要声明返回值类型、参数类型。函数定义以function开头。
var r = add(1, 2);
alert(r);
r = add("你好", "tom");
alert(r);
l JavaScript中不像C#中那样要求所有路径都有返回值,没有返回值就是undefined。
l易错:自定义函数名不要和js内置、dom内置方法重名,比如selectall、focus等函数名不要用。