javascript是一种在网络广泛应用的脚本语言,虽然名字与java相近,但其实两者并没有直接的关系,脚本语言是一种为了便于操作和拓展功能而开发出来的解释性语言,不同于传统的编程语言,脚本语言不需要编译即可通过解释器运行,各大浏览器中均内置javascript解释器。

html中提供了script标签来标明需要使用javascript解释器的代码块,script标签可以放在html文件的任意位置(为了保证js代码可以引用指定的html内容,通常放在html文档的最后,及/body标签和/html标签间),在script标签内,可以通过src属性指定需要引用的javascript文件的路径,需要注意的是,如果在标签上使用了src属性引入了js文件,script标签内的代码将不会被解释。示例代码如下:

<script type="text/javascript"> alert(1); </script>

javascript由三部分组成,1.由欧洲计算机制造商协会制定的标准:ECMAscript 可以将javascript看做是ECMAscript的实现和功能扩展,ECMAscript为javascript制定了作为标准的语法和基本对象。2.文档对象模型(DOM),用于描述处理网页内容的方法和接口。3.浏览器对象模型(BOM),用于描述与浏览器进行交互的方法和接口。

javascript是一种弱类型语言,具有相当的交互性,安全性(无法直接访问硬盘),与跨平台性,javascript只有5种数据类型,并只能用var关键字进行声明(可以省略),这5种数据类型分别为1.String2.Boolean3.Number4.Undefined5.Null 如果一个变量声明后没有被赋值,这个变量就被解释为Undefined类型,而Number类型用于存储数据,但是并不区分是小数还是整数,所以/运算符在js中总是表示为除法而不是取整。可以通过typeof运算符判断指定变量的数据类型,通过instanceof运算符判断指定变量的引用类型。

js的数组也使用var关键字进行数组声明(可省略),由于js的弱类型特性,js的数组中可以存放不同类型的数据,js的数组有两种声明方式,一种是通过直接赋值(如var array=[4,5,6]),另一种是通过new一个Array类型的对象并传入数组的值或长度(如var array=new Array(3)或var array=new Array(3,4,5))。

js的函数需要用到function关键字进行声明,同样,由于js的弱类型特性,js的函数不需要标明返回值类型,形参列表也不需要用var关键字声明类型,只需标明形参名称就可以了。类似数组的概念,js中可以通过函数名传递该函数的引用。

为了避免频繁地修改函数体的内容以改变功能,js提供了动态函数的概念,可以将函数体作为参数动态地创建函数如var add = new Function("x,y","var sum;sum=x*y;return sum;");方便起见,还可以通过传递引用的方式创建匿名函数,如var add = function (x,y){return x+y;};

除了在函数体内创建的变量,script标签中的变量均为全局变量,在整个页面范围内都有效。

初探javascript的更多相关文章

  1. 初探JavaScript(四)——作用域链和声明提前

    前言:最近恰逢毕业季,千千万万的学生党开始步入社会,告别象牙塔似的学校生活.往往在人生的各个拐点的时候,情感丰富,感触颇深,各种对过去的美好的总结,对未来的展望.与此同时,也让诸多的老“园”工看完这些 ...

  2. 初探JavaScript(三)——JS带我"碰壁"带我飞

    已经写了两篇关于小白的JavaScript之行,不可否认,每一种语言都有其精华与糟粕之处,来不及细细体味其精华奥妙,也没法对其评头论足,只能先了解,后深入.到目前为止已经看完<JavaScrip ...

  3. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  4. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点

    Javascript大行其道的时候,怎么能少了我来凑凑热闹^_^ 基本上自己对于js的知识储备很少,先前有用过JQuery实现一些简单功能,要论起JS的前世今生,来龙去脉,我就一小白.抱起一本< ...

  5. 【JavaScript从入门到精通】第四课初探JavaScript魅力-04

    第四课初探JavaScript魅力-04 style与className 之前我们已经讲过,style用于在JS里控制元素的样式,通过style可以选中元素的各种css属性.此外,我们也提到过,JS用 ...

  6. 【JavaScript从入门到精通】第三课 初探JavaScript魅力-03

    第三课 初探JavaScript魅力-03 函数传参 上节课的时候我们已经讲了什么是函数,实际上,函数在功能上就类似于css的class一样,将一段代码包裹起来使用.为了让函数的功能更加的丰富和实用, ...

  7. 【JavaScript从入门到精通】第二课 初探JavaScript魅力-02

    第二课 初探JavaScript魅力-02 变量 说起变量,我们不得不提起我们有一部比较古老的电视剧叫<包青天>.包青天有一把非常厉害的宝剑叫“尚方宝剑”,见到尚方宝剑有如见到皇帝.某种程 ...

  8. 【JavaScript从入门到精通】第一课 初探JavaScript魅力-01

    第一课 初探JavaScript魅力-01 JavaScript是什么 如今我们打开一个大型的网站,都会有很多JS效果的功能和应用.对于学过CSS+HTML的同学,即使是像淘宝那样的网站,用一两天时间 ...

  9. 01 - 初探JavaScript魅力

    网页特效原理 用JavaScript修改样式 编写JS的流程 布局:HTML+CSS 属性:确定要修改哪些属性 事件:确定用户做哪些操作(产品设计) 编写JS:在事件中,用JS来修改页面元素的样式 鼠 ...

随机推荐

  1. PHP 文件夹操作「复制、删除、查看大小」递归实现

    PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动 ...

  2. Mantis搭建步骤

    (1)安装EeasyPHP (2)解压Mantis到EeasyPHP内www目录下 (3)将PHP复制到www目录下 并修改apache下httpd.conf及php.ini两个文件的php配置目录 ...

  3. css中的负边距

    css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...

  4. java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.

    分析:android 4.2.X及以下的版本,addHeaderView必须在setAdapter之前,否则会抛出IllegalStateException. android 4.2.X(API 17 ...

  5. lvs+keepalived

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  6. WPF 动画显示控件

    当我们要显示一个控件的时候,不仅仅要显示这个控件,还要有动画的效果. 主要用到了DoubleAnimation类. public static void ShowAnimation(object co ...

  7. iOS JSON、NSDictionary互转

    #import "myCode.h" @implementation myCode /*! * @brief 把格式化的JSON格式的字符串转换成字典 * @param jsonS ...

  8. js的类型及调试下的辨识

    <script> var s1 = '11'; var s2 = 11; var s3 = true; console.log("我的类型是"+typeof(s1)+& ...

  9. 社区活动分享PPT:使用微软开源技术开发微服务

    上周六在成都中生代技术社区线下活动进行了一个名为"微软爱开源-使用微软开源技术开发微服务"的技术分享. 也算是给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力 ...

  10. Myeclipse下的struts2.3.8 配置 保证绝对好用

    转自:http://blog.csdn.net/oxuannishi/article/details/8538386 1.建立web project工程,我的结构如下: 2.这一步非常重要:引入必要的 ...