JavaScript是一种解释型语言而不是编译型语言,它往往被认为是一种脚本语言,而不被看作是一种真正的编程语言。也就是说,脚本语言比较简单,它们是非程序员所使用的编程语言。

如果一个程序员对JavaScript没有扎实的理解,那么当他要用JavaScript执行较复杂的任务时,就会发现整个过程困难重重。

根据ECMA-262标准,JavaScript语言的官方名称是ECMAScript。但是,这个笨拙的名字只有在明确地引用标准的时候才正式使用。从技术上讲,“JavaScript”的名字所指的只是来自Netscape和Mozilla Foundation的语言实现。而实际上,所有人都把这种语言叫做JavaScript。

客户端JavaScript将JavaScript解释器的脚本化能力与Web浏览器定义的文档对象模型(Document Object Model,Dom)结合在一起。

JavaScript不仅能够控制HTML文档的内容,而且能够控制这些文档的行为。

JavaScript是一种通用目的的编程语言,并且它的用途不局限与Web浏览器。JavaScript设计用来嵌入其他任何的应用之中,并为应用提供脚本能力。

需要真正学会一种新的编程语言,就要用它来编写程序。

对于简单的JavaScript试验,有时可以使用JavaScript:URL伪协议来计算JavaScript表达式并返回计算结果。一个JavaScript URL是由JavaScript:协议说明符加上任意的JavaScript代码(语句之间用分号分隔)构成的。当浏览器装载了这样的URL时,它将执行其中的JavaScript代码。这样的URL中的最后一个表达式的值将被转换成字符,该字符串会被作为新文档显示在Web浏览器中。

程序设计语言的词法结构是一套基本规则,用来详细说明如何用这种语言来编写程序。它是一种语言的最低层次的语法,指定了变量名是什么样的,注释应该使用什么字符以及语句之间如何分隔等规则。

JavaScript程序是用Unicode字符集编写的。16位的Unicode编码可以表示地球上通用的每一种书面语言。这是国际化的一个重要特征,对那些不讲英语的程序设计者尤为重要。

JavaScript是一种区分大小写的语言。

HTML中这些标记和属性名可以使用任意的大小写方式输入,但是在JavaScript中它们通常都是小写的。

直接量,就是程序中直接显示出来的数据值。

标识符,就是一个名字,是用来命名变量和函数,或者用作JavaScript代码中某些循环的标签。第一个字符必须是字母、下划线或美元符号。标识符不能和JavaScript中用于其他用途的关键字同名。

保留字,break、do、if、switch、typeof、case、else、in、this、var、catch、false、instanceof、throw、void、continue、finally、new、true、while、default、for、null、try、with、delete、function、returne。

在一种程序设计语言中,能够表示并操作的值的类型称为数据类型,而程序设计语言最基本的特征之一就是它支持的数据类型的集合。JavaScript允许使用3种基本数据类型--数字、文本字符串和布尔值。还有两种小数据类型null(空)和undefined(未定义),它们各自定义了一个值。

JavaScript还支持符合数据类型--对象。JavaScript中的对象有两种,一种对象表示的是已命名的值的无序集合,另一种表示的是有编号的值的有序集合,后者被称为数组(Array)。

特殊的对象——函数(Function)。函数是具有可执行代码的对象,可以用作调用函数执行某些操作。函数的行为与其他类型的对象不同。

Javascript和其他程序设计语言的不同之处在于它并不区别整型数值和浮点型数值。在JavaScript中所有的数字都是由浮点型表示的。JavaScript数字格式允许精确表示-9007199254740992(-2^53)和9007199254740992(2^53)之间的所有整数,但是使用超过这个范围的整数,就会失去尾数的精确性。

转义序列,在JavaScript的字符串中,反斜线(\)具有特殊的用途。在反斜线符号后加一个字符就可以表示在字符串中无法出现的字符了。

JavaScript是什么的更多相关文章

  1. JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Python创建者Van Rossum等编程大牛对程序员的职业建议

    软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编 ...

  2. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  3. Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收

    执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...

  4. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  5. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  6. 《Web 前端面试指南》1、JavaScript 闭包深入浅出

    闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...

  7. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  8. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome

    今天为大家分享一下我自己制作的浏览器滚动条,我们知道用css来自定义滚动条也是挺好的方式,css虽然能够改变chrome浏览器的滚动条样式可以自定义,css也能够改变IE浏览器滚动条的颜色.但是css ...

  9. JavaScript进阶之路(一)初学者的开始

    一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地 ...

  10. 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

    CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...

随机推荐

  1. ubuntu_deb安装命令

    dpkg命令常用格式如下: sudo dpkg -I iptux.deb#查看iptux.deb软件包的详细信息,包括软件名称.版本以及大小等(其中-I等价于--info) sudo dpkg -c ...

  2. solr-建立单机版的服务器

    回到之前打开的页面,刷新,wenda就出来了: 这个wenda是单机版的.

  3. UVa 1335 Beijing Guards (二分+贪心)

    题意:n 个人成一个圈,每个人想要 ri 种不同的礼物,要求相邻两个人没有相同的,求最少需要多少礼物. 析:如果 n 是偶数,那么答案一定是相邻两个人的礼物总种数之和的最大值,那么如果是奇数,就没那么 ...

  4. C# 获取外网IP和运营商和城市

    /// <summary> /// 获取客户端外网IP,省份,城市,运营商 /// 2012年12月18日 15:07 /// </summary> public class ...

  5. Docker Compose 多容器应用

    Docker Compose是一个用来定义并运行复杂应用程序的工具.用Compose,你可以在一个文件中定义多个容器应用程序,然后只需一条命令就可以完成使其运行所需的所有操作. 一个使用Docker容 ...

  6. Golang : pflag 包简介

    笔者在前文中介绍了 Golang 标准库中 flag 包的用法,事实上有一个第三方的命令行参数解析包 pflag 比 flag 包使用的更为广泛.pflag 包的设计目的就是替代标准库中的 flag ...

  7. Cinder服务使用

    Cinder环境 Cinder配置 重新创建卷组cinder-volumes [root@openstack centos]# vgremove cinder-volumes Configuratio ...

  8. STL——queue

    1.初始化 需要头文件<queue> queue<int>que; 2.成员函数 C++队列Queue类成员函数如下: back()返回最后一个元素 empty()如果队列空则 ...

  9. uoj#335. 【清华集训2017】生成树计数(prufer序列+生成函数+多项式)

    传送门 好神仙的题目--又一次有了做一题学一堆的美好体验 据说本题有第二类斯特林数+分治\(FFT\)的做法,然而咱实在看不懂写的是啥,题解贴这里,有兴趣的可以自己去瞅瞅,看懂了记得回来跟咱讲讲 前置 ...

  10. IT兄弟连 Java语法教程 编写Java源代码

    现在我们来一步一步的编写第一个Java程序,鼎鼎大名的“HelloWorld”. 编写Java源代码 编写Java源代码可以使用任何无格式的文本编辑器,在Windows操作系统上可以使用记事本.Edi ...