JavaScript基础教程:对象、事件驱动与HTML结合方式

需积分: 9 16 下载量 196 浏览量 更新于2024-07-20 收藏 31KB DOCX 举报
"js学习笔记" 在深入探讨JavaScript之前,我们首先要理解它的基本概念。JavaScript是一种广泛应用于客户端的脚本语言,由Netscape(现为Oracle)开发,并非Sun Microsystems的Java语言。JavaScript的设计思想是基于对象和事件驱动,使得网页具有更强的交互性和动态效果。 1. JavaScript的特点: - 交互性:JavaScript允许用户与网页进行实时互动,比如点击按钮、填写表单等。 - 安全性:它不允许访问用户的本地文件系统,以保护用户隐私和系统安全。 - 跨平台:JavaScript可以在多种浏览器和操作系统上运行,如Windows、Mac OS、Linux等。 2. JavaScript与Java的区别: - 来源:Java由Sun Microsystems(现为Oracle)开发,JavaScript最初由Netscape创造。 - 面向对象:JavaScript基于对象,意味着它可以操作和修改现有的对象。而Java是严格的面向对象语言,强调类和对象的定义。 - 类型系统:JavaScript是弱类型语言,变量可以随时改变其数据类型,而Java是强类型语言,变量类型在声明时必须确定。 - 执行过程:JavaScript代码直接由浏览器解析执行,无需预编译。Java则需先编译成字节码,再由JVM解释执行。 3. JavaScript的主要组成部分: - ECMAScript:这是JavaScript的基础,由ECMA国际制定的标准化语法和语句规范。 - BOM(Browser Object Model):浏览器对象模型,提供了一系列与浏览器窗口、页面、导航等相关的对象,用于操作浏览器特性。 - DOM(Document Object Model):文档对象模型,是一种统一的接口,用于访问和操作HTML或XML文档中的元素和属性。 4. JavaScript与HTML的结合: - 内联方式:在HTML文件中直接使用`<script>`标签嵌入JavaScript代码。 - 外部文件引入:通过`<script>`标签的`src`属性链接到单独的.js文件,使代码更易维护和复用。 5. JavaScript的原始类型和变量声明: - JavaScript的原始类型包括:String(字符串)、Number(数字)、Boolean(布尔值)、null、undefined。 - 使用`var`关键字声明变量,如`var str = "kevin";`,`var num = 12345;`,`var flag = true;`。 - `null`表示空引用,`undefined`表示未定义的变量值。 - 使用`typeof`操作符可以检查变量的数据类型,如`alert(typeof str)`会返回变量`str`的类型。 6. JavaScript语句: JavaScript语句包括表达式、控制流语句(如条件语句、循环语句)、函数定义等,用于实现逻辑操作。例如,条件语句`if...else`用于根据条件执行不同的代码块,循环语句`for`和`while`用于重复执行某段代码,函数`function`则用于封装可重用的代码块。 了解这些基础后,你可以开始进一步学习JavaScript的高级特性和应用,如函数、数组、对象、闭包、原型链、异步编程等。JavaScript的灵活性和广泛的应用场景使其成为Web开发不可或缺的一部分。在实践中不断探索和学习,将有助于你成为一名熟练的JavaScript开发者。
2014-01-22 上传
为减少 js 关键词的占用,此文件只占用“c$”一个关键词; * 使用时用: c$.函数名(参数列表); 或者 c$().函数名(参数列表) * 字符串操作函数、日期操作函数、数组操作函数等,直接增加到 String、Date、Array 类里面,便于直接使用 */ /** * 获取元素,或者在DOM加载完成时执行某函数 * @param arg 此参数为字符串时,认为是 c$.getElement 的缩写,用来获取元素。用法参考 c$.getElement * 如果 arg 是 function 则认为是 c$.ready 的缩写,在dom加载完成时执行。没有此参数则返回 c$ 对象。 * @param dom 需要选择的DOM对象,默认是 window.document * @return 没有arg参数时返回 c$ 对象,arg参数是字符串时返回查询的元素,arg参数是函数时没有返回内容。 * * @example * c$("mytext") // 返回 id 或者 name 为"mytext"的元素 * c$("#mytext") // 返回 id 为"mytext"的元素 * c$("@mytext") // 返回 name 为"mytext"的所有元素 * c$(".class1") // 返回 class 为"class1"的所有元素 * c$("$div") // 返回 标签 为"div"的所有元素 * c$("$div #text1") // 返回 div 标签里面 id 为"text1"的元素(支持多级查询,以空格分隔) * c$(function(){alert('执行DOM加载完成事件');}); // 为 c$.ready(fun) 的缩写 * * c$.函数名(参数列表) // 调用这工具类里面的函数 * c$().函数名(参数列表) // 调用这工具类里面的函数 */ var c$ = window.c$ = function(arg, dom) { // 如果没有参数,则返回 本对象;让程序可以这样写: c$().函数名(参数列表) if (arguments.length === 0) return c$; if (typeof arg == 'function') return c$.ready(arg); // 有参数则调用获取元素的函数,为 c$.getElement 的缩写 return c$.getElement(arg, dom); }; /** * 这是错误调试程序 * 当页面发生错误时,提示错误讯息;仅测试环境里会提示,正式环境下不提示错误。 * 注意:chrome、opera 和 safari 浏览器不支持 onerror 事件 * @param msg 出错讯息 * @param url 出错档案的地址 * @param sLine 发生错误的行 * @return true 返回true,会消去 IE下那个恼人的“网页上有错误”的提示 */ window.onerror = function(msg, url, sLine) { // 测试时可以提示出错信息;正式发布时不提示 if (c$.isTest) { var errorMsg = "当前页面的javascript发生错误.\n\n"; errorMsg += "错误: " + msg + "\n"; errorMsg += "URL: " + url + "\n"; errorMsg += "行: " + sLine + "\n\n"; errorMsg += "点击“确定”消去此错