Javascrip基础
术语解释
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等。JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、 Maxthon、Mozilla、Firefox、Netscape、Chrome和 Opera等。
- JavaScript 被设计用来向 HTML 页面添加交互行为。
- JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言)。
- JavaScript 由数行可执行计算机代码组成。
- JavaScript 通常被直接嵌入 HTML 页面。
- JavaScript 是一种解释性语言(就是说,代码执行不进行预编译)。
- 所有的人无需购买许可证均可使用 JavaScript。
概念辨析
JavaScript与Java
JavaScript最初的确是受Java启发而开始设计的,而且设计的目的之一就是“看上去像Java”,因此语法上有很多类似之处,许多名称和命名规范也借自Java。但是实际上,JavaScript的主要设计原则源自Self和Scheme,它与Java本质上是不同的。它与Java名称上的近似,是当时网景为了营销考虑与Sun公司达成协议的结果。其实从本质上讲javascript更像是一门函数式编程语言.而非面向对象的语言,它使用一些智能的语法和语义来仿真高度复杂的行为。其对象模型极为灵活、开放和强大,具有全部的反射性。
JavaScript与JScript
JScript是Microsoft公司开发的,Javascript是Netscape公司开发的.虽然他们是死对头,但是在现在的浏览器中,无论你把语言指定为Javascript 还是 Jscript, 浏览器都会综合他们两个语言的特性.所以,即使把语言指定为Javascript, 用几句JScript也是没问题的.
JavaScript与VBScript
Javascript 和 VBscript 的互通性很好,而且在 VBArray(Javascript不支持多维数组)和ASCII(Javascript不能吧字符转成ASCII)都得到了应用,这方面基础 VBScript 做得很好。所以我看了看它的代码,大致意思就是 Javascript 可以用 VBScript 的自定义函数和变量(当然不能用内置变量和函数),通过转换调用内置函数。
JavaScript与AJAX
AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),它也是一种JavaScript编程语言。JavaScript是一种粘合剂使AJAX应用的各部分集成在一起。AJAX是基于web标准XHTML+CSS的表示;使用 DOM进行动态显示及交互;使用XML 和XSLT 进行数据交换及相关操作;使用XMLHttpRequest 进行异步数据查询、检索;使用 JavaScript 将所有的东西绑定在一起。
JavaScript与DOM
DOM是Document Object Model(文档对象模型)的简称,它是让javascript与页面交互的一种方式,能够动态修改文档中的节点,元素,属性等。DOM不仅适用于xhtml文档,对于所有的xml文档dom都是可以使用的。
DOM的级别:
1级:基本的节点操作一级里都包括了
2级:增加了对样式表,文档显示,事件处理,等的支持
3级:可以用javascript加载和保存文档,检查文档错误
JavaScript与HTML
HTML 创作者往往都不是程序员,但是 JavaScript 却是一种只拥有极其简单的语法的脚本语言。每人都可将短小的代码片断放入HTML 页面中。
类似于这样的一段 JavaScript 声明可以将一段可变的文本放入 HTML 页面:document.write("<h1>" + name + "</h1>")
可以将 JavaScript 设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个 HTML 元素时。
JavaScript 可以读取及改变 HTML 元素的内容。
在数据被提交到服务器之前,JavaScript 可被用来验证这些数据。
JavaScript 可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。
JavaScript 可被用来存储和取回位于访问者的计算机中的信息。
JavaScript与CSS+DIV
CSS(Cascading Style Sheet)层叠样式表,是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。
DIV主要用来布局,与table布局相似,用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。
JavaScript可以通过getElementById(id)或getElementsByTabName(TabName)等来设置或修改CSS和DIV的属性值
JavaScript与编程语言
Javascript 不是一个预编译语言,所以虽然 Javascript 的作者尽量把它写得强大。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的编程语言来推广和宣传,但是JavaScript是一门具有非常丰富特性的语言,它有着和其他编程语言一样的复杂性,或更甚复杂。实际上,你必需对JavaScript有扎实的理解才能用它来撰写比较复杂的程序。
基本语法
1、运算符
运算符就是完成操作的一系列符号:
赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)
算术运算符(+,-,*,/,++,--,%)
比较运算符(>,<,<=,>=,==,===,!=,!==)
逻辑运算符(||,&&,!)、条件运算(?:)、位移运算符(|,&,<<,>>,~,^)、字符串运算符(+)
2、 表达式
运算符和操作数的组合称为表达式,通常分为四类:赋值表达式、算术表达式、布尔表达式和字符串表达式
3、语句
赋值语句、switch、for、foreach、while、do while、break、continue、try...catch、if语句、with语句、let语句
4、函数
函数是命名的语句段,这个语句段可以被当作一个整体来引用和执行:
1)函数由关键字function定义(也可由Function构造函数构造);
2)使用function关键字定义的函数在一个作用域内是可以在任意处调用的(包括定义函数的语句前);而用var关键字定义的必须定义后才能被调用;
3)函数名是调用函数时引用的名称,它对大小写是敏感的,调用函数时不可写错函数名;
4)参数表示传递给函数使用或操作的值,它可以是常量,也可以是变量,也可以是函数,在函数内部可以通arguments对象(arguments对象是一个伪数组,属性callee引用被调用的函数)访问所有参数;
5)return语句用于返回表达式的值。
6)yield语句扔出一个表达式,并且中断函数执行直到下一次调用next。
一般的函数都是以下格式:
function myFunction(params){
//执行的语句
}
函数表达式:
var myFunction=function(params){
//执行的语句
}
myFunction();//调用函数
5、对象
Javascript是面向对象的,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。
一组包含数据的属性和对属性中包含数据进行操作的方法,称为对象。比如要设定网页的背景颜色,所针对的对象就是document,所用的属性名是bgcolor,如document.bgcolor="blue",就是表示使背景的颜色为蓝色。
6、事件
事件,用户与网页交互时产生的操作。
事件可以由用户引发、也可能是页面发生改变、甚至还有你看不见的事件(如Ajax的交互进度改变)。绝大部分事都由用户的动作所引发,如:用户按鼠标的按钮,就产生click事件,若鼠标的指针的链接上移动,就产生mouseover事件等等。在Javascript中,事件往往与事件处理程序配套使用。
而对事件的处理,W3C的方法是用addEventListener()函数,它有三个参数:事件、引发的函数、是否使用事件捕捉。为了安全性,建议将第三个参数始终设置为false;
传统的方法就是定义元素的on...事件,它就是W3C的方法中的事件参数前加一个“on”。而IE的事件模型使用attachEvent和dettachEvent对事件进行绑定和删除。javascript中事件还分捕获和冒泡两个阶段,但是传统绑定只支持冒泡事件。
7、变量
如 var myVariable = "some value";
变量有它的类型,上例中myVariable的类型为string(字符串)
javascript支持的常用类型还有:
object:对象
array:数组
number:数;
boolean:布尔值,只有true和false两个值,是所有类型中占用内存最少的;
null:一个空值,唯一的值是null;
undefined:没有定义和赋值的变量
实际上javascript的变量是弱变量类型,你赋值给他的是字符串,他就是String .
是数字他就是整形。是true和false他就是boolean型(注意,不能加引号,不然会被当成字符串处理)。
开发与调试
javascript程序是纯文本的,且不需要编译,所以任何纯文本的编辑器都可以编辑javascript文件
开发工具
JavaScript Editor (推荐)
Dreamweaver CS4
Visual Studio 2008
调试工具
Firefox FireBug (推荐)
JavaScript Editor
Visual Studio 2008
根据我自己的学习、开发和调试JavaScript的经验和体会,推荐开发使用JavaScript Editor和调试使用Firefox FireBug
当然啦,牛人直接用NotePad或VIM等文本工具直接编写,也可以的,不过我目前还远远没达到这种水平(努力的目标)
Javascrip基础的更多相关文章
- JavaScrip 基础
JavaScript 基础 前段的三剑客之一JS,来来来,看看它是什么鬼!到底如何让网页动起来的呢,今天就搞他一下. 一.JavaScript的简单介绍 javascript是一门动态弱类型的解释型编 ...
- JavaScrip基础讲座 - 神奇的ProtoType
1. 什么是 prototype prototype 对于 JavaScript 的 意义重大,prototype 不仅仅是一种管理对象继承的机制,更是一种出色的设计思想 在现实生活中,我们常常说, ...
- javascrip基础学习
JS是一种解释性脚本语言,在网页开发用经常用到(HTML CSS),用于控制网页的行为.现在RTT的柿饼UI也是用JS来开发的,所以很有必要学习一下. 注释:// ./* */ 语句分行: 折行\ ...
- python_day13_js
JavaScript 基础 目录: javascript简介 javascrip历史 ecmascript标准 javascrip基础 js引入方式 js变量.常量.标识符 js数据类型 运算符 流程 ...
- JavaScrip(二)JavaScrip语法基础
一:标识符 标识符是指变量,函数的名字,或函数的参数名: 1.命名规则 1.1第一个字符必须是一个字母.下划线(_).或一个美元符号($) 1.2其他字母可以是字母,下划线.美元符号或数字 1.3不能 ...
- javascrip学习之基础
弹窗信息:三种消息框:警告框.确认框.提示框. window.alert("sometext"); var r=confirm("按下按钮");//提示信息,返 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- C#基础01
ASP.net基础详情 1:Momo就是跨平台的一种.net,借助其Momo可以让其.net网站跑到Lumin和安卓机上面. 2:开发的网站具有安全,速度快,容易配置. 3:互联网开发[网站]和管理系 ...
- JavaScript基础(一)
我是一个初学者,但求能学到些许知识!以下是根据韩顺平老师的<轻松搞定网页设计html+css+javascript—javascrip部分>整理而成. 为什么要学习javascript? ...
随机推荐
- Android向通讯录添加联系人的一般方法
Android向通讯录添加联系人的一般方法 以一个简单的例子加以说明,记得需要相应的权限: 测试代码,关键的内容就在add函数里面. package zhangphil.demo; import an ...
- Ubuntu17.04 安装搜狗中文输入法
http://blog.csdn.net/ydyang1126/article/details/76223656
- codeforces 3b之贪心算法
有货车运量V:有若干物品A 占2单位体积,有若干物品B占1单位体积:相同种类的物品价值不一定一样: 序号按照输入顺序而定:问货车可以拉走最多多少价值的物品,并输出所选物品的序号: 1)常规的解法思路: ...
- 解决Visual C++ for Linux: -L"~/projects/path_to_lib_folder" 无法设置library search path的问题
最近倒腾Linux C/C++项目.以目前的情况来说,要生成编译(build)一个Linux工程脚本,首选的工具必定是CMake.这也是我之前Linux项目的首选.不过自从VS IDE支持Linux ...
- java跟oracle如何计算时间差
java计算时间差: //计算入职时间 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");String date = ...
- eclipse调试远程tomcat
1.设置tomcat远程调试端口 catalina.sh export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,susp ...
- java 开发环境配置 安装 MyEclipse
一.下载MyEclipse开发工具 下载地址:http://www.myeclipsecn.com 需要注册帐号,登录后点击下载
- Linux中挂载详解以及mount命令用法
转自:https://blog.csdn.net/daydayup654/article/details/78788310 挂载概念 Linux中的根目录以外的文件要想被访问,需要将其“关联”到根目录 ...
- Strongly connected components
拓扑排列可以指明除了循环以外的所有指向,当反过来还有路可以走的话,说明有刚刚没算的循环路线,所以反过来能形成的所有树都是循环
- centOS6.0虚拟机ip配置
1.首先使用虚拟机安装好centOS6.0系统 2.虚拟机网络配置:(选择桥接模式) 3. 第一步:首先关闭防火墙 1.将防火服务从启动列表移除 #chkconfig --del iptables # ...