`

Javascript随笔之ECMAScript

阅读更多

 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。

 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!
 

区别:
 编译型语言,执行速度快、效率高;依赖编译器、跨平台性差些。如C、C++、Delphi、Pascal,Fortran。
解释型语言,执行速度慢、效率低;依赖解释器、跨平台性好。如Java、Basic,javascript.


通俗的讲,编译语言是在编译后可以直接运行,而解释语言的执行需要一个解释环境。

javascript变量是弱类型的:

/*弱类型语言允许一块内存看做多种类型
强类型语言没有强制类型转化前,不循序两种不同
类型的变量相互操作.*/

var color="red";
var num=25;
var visible=true;

//语法并不严格可以不加;
var test1="red"

/*弱类型变量的优势
可以把变量初始化为字符串
之后设置为数字值*/
var test="hi";
alert(test);
test=55
alert(test);

  

javascipt对未声明的标示符(变量)的处理:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function aa(){
	var test="哈哈";
	/*ECMAScript的解释程序遇到未声明过的标示符时,
	用该变量名创建一个全局变量,并将其初始化为指定的值.
	这是该语言的便利之处,不过如果不能紧密跟踪变量,这样做也
	很危险.最好的习惯是像使用其他程序设计语言一样,总是申明所有的
	变量*/
	test2="嘿嘿";
}

function bb(){
	//test2变成全局变量了....
	alert(test2);	
}
</script>
</head>

<body onload="aa()">
<button onclick="bb()">点击</button>
</body>
</html>

 

原始值和引用值:
在ECNAScript中,变量可以存放两种类型的值,既原始值和引用值.

 

1.原始值是存储在栈(stack)中的简单数据段,也就是说,它们的值直接
存储在变量的访问位置.

 

2.引用值(reference value)是存储在堆(heap)中的对象,也就是说,存储
在变量处的值是一个指针(point)也可以称为引用,指向存储对象的内存处。

 

为变量赋值时,ECMAScript的解释程序必须判断值是原始类型的,还是引用类型的.要实现这一点,解释程序则需尝试判断该值是否为ECMAScript原始的类型之一,即Undefined、Null、Boolean和String型.由于这些原始类型占据的空间是固定的,所以可将它们存储在较小的内存区域---栈中.这样存储便于迅速查询变量的值.

 

在许多语言中,字符串都被看作引用类型,而非原始类型,因为字符串的长度是可变的.ECMAScript打破了这一传统.

 

如果一个值是引用类型的,那么它的存储空间将从堆中分配.由于引用值的大小会改变,所以不能把它放在栈中,否则会降低变量查询的速度.相反,放在变量的栈空间中的值是该对象存储在堆中的地址.地址的大小是固定的,所以把它存储在栈中对变量性能无任何负面影响.

 

 

 

以下是一些基础示例:

 

<script type="text/javascript">
/*字符串*/
var sMyString="Tsinhua University";
document.write(sMyString.substring(1,3)+"<br>");/*截取索引1-3之间的字符串不包含索引3的字符串*/		
document.write(sMyString.slice(1,3)+"<br>");
document.write(sMyString.slice(4)+"<br>");//截取索引4后面的字符串
document.write(sMyString+"<br>");//原样输出

/*数值计算*/
var mynum1=23.345;
var mynum2=45;
var mynum3=-34;
var mynum4=9e5;//科学计数法 这里代表的是:9乘以10的5次方法
alert(mynum1+" "+mynum2+" "+mynum3+" "+mynum4);

/*布尔值*/
var married=true;
alert("1 ."+typeof(married));//使用typeof查看程序类型
married="true";
alert("2 ."+typeof(married));

/*数组*/
var arr=new Array("China","USA","English")
alert("长度:"+arr.length+" "+arr[2]);

/*比较运算法*/
document.write("pear"=="pear");
document.write("<br>");
document.write("Apple"<"Orange");//true 因为ASCII A小于O
document.write("<br>");
document.write("apple"<"Orange");//false 因为ASCII a大于O
document.write("<br>");

/*条件语句*/
var num=Number(prompt("请输入5-100之间的数字","5"));//prompt函数弹出提示框输入.
if(isNaN(num)){//判断是否是数字,不是数字为true
	document.write("请输入数字!");
}else if(num>100||num<5){
	document.write("请输入5-100之内的数字!");	
}else{
	document.write("你输入的数字:是"+num);
}

/*while循环*/
var i=sum=0; //分别给i和sum赋0值
while(i<=100){
	sum+=i;
	i++;
}
alert(sum);
</script>

 

  • 大小: 23.2 KB
分享到:
评论

相关推荐

    高性能JavaScript 2015版本 ECMAScript 6入门 JavaScript 5

    JavaScript,作为全球最广泛使用的编程语言之一,是构建现代网页和网络应用的核心工具。随着技术的不断演进,JavaScript也在持续发展,从最初的ECMAScript 3到现在的ECMAScript 6(也被称为ES2015),它带来了许多新...

    Javascript解释器在ECMAScript中运行Javascript代码

    本文将深入探讨JavaScript解释器如何在ECMAScript环境中运行JavaScript代码。 首先,了解JavaScript解释器的工作原理至关重要。当我们在浏览器中加载一个包含JavaScript的网页时,浏览器中的JavaScript引擎(如...

    JavaScript权威指南-ECMAScript5.pdf

    JavaScript,作为全球最广泛使用的编程语言之一,是Web开发的核心技术。《JavaScript权威指南-ECMAScript5.pdf》这本书深入浅出地介绍了JavaScript的核心概念和语法,为初学者和有经验的开发者提供了全面的指导。...

    ECMAScript Javascript Promise 详解

    ECMAScript Javascript Promise 详解

    Rat Javascript - 小型javascript/ecmascript解释器

    JavaScript,也被称为ECMAScript,是一种广泛应用于网页和网络应用的脚本语言,它主要负责在用户端处理数据、操作DOM(文档对象模型)以及控制页面交互。RATJS,正如其名“Rat Javascript”,是一个小型的JavaScript...

    Qt-Quick核心编程之ECMAScript初探,适合Qt初学者

    **ECMAScript**与**JavaScript**之间的关系一直是开发领域中容易混淆的概念之一。简单来说,ECMAScript是一种规范或标准,而JavaScript是一种具体的实现,即一种编程语言,它遵循ECMAScript标准。 1. **ECMAScript*...

    小型javascript/ecmascript解释器

    RATJS是一个小型的JavaScript/ECMAScript解释器,采用C语言编写,主要用于运行JavaScript程序。开发者可以利用RATJS执行自定义的JavaScript代码,同样也可以将RATJS作为脚本引擎整合到自己开发的软件中去,以此来...

    基于C语言核心的轻量级JavaScript/ECMAScript解释器设计源码

    JavaScript/ECMAScript是一种广泛使用的脚本语言,尤其在网页设计和网络应用中占据着重要地位。随着网络技术的快速发展,JavaScript/ECMAScript的需求不断增加,对于一个高效的执行环境的需求也日益迫切。 本项目所...

    【第九章】JavaScript【ECMAScript语法基础】

    JavaScript,作为全球最广泛使用的编程语言之一,是构建Web应用、网页交互以及移动应用的核心工具。本章将深入探讨JavaScript的ECMAScript语法基础,这是理解JavaScript编程的关键。ECMAScript,通常简称为ES,是...

    JavaScript是一种基于ECMAScript的脚本语言,主要用于客户端和服务器端编程 JavaScript的资源主要分为官

    JavaScript是一种基于ECMAScript的脚本语言,主要用于客户端和服务器端编程。JavaScript的资源主要分为官方文档、社区驱动的资源、学习资源和工具等。 官方文档 ECMAScript Specification:ECMAScript官方规范文档...

    (源码)基于 JavaScript 的 ECMAScript 6 入门教程.zip

    # 基于 JavaScript 的 ECMAScript 6 入门教程 ## 项目简介 这是一个基于 JavaScript 的 ECMAScript 6(简称 ES6)入门教程项目,全面介绍 ES6 新引入的语法特性。项目以简洁明了的方式呈现大量示例代码,助力读者...

    ECMAScript中文最新(ECMA262)

    ECMAScript2021中文最新,ECMAScript2021中文文档,第1-6章,持续更新,喜欢请star。git地址https://github.com/fangniyima/ECMAScript-notes

    《ECMAScript 6 入门》 Javascript nodejs 教程 阮一峰 带书签

    《ECMAScript 6 入门》是阮一峰编写的JavaScript编程教程,专注于介绍ECMAScript 6(也称为ES6或ES2015)的新特性和语法改进。这本书是JavaScript开发者深入理解现代JavaScript编程的基础读物,特别适合已经掌握基本...

    介绍最新的ECMAScriptJavaScript规范以及TC39的提案进度

    **JavaScript与ECMAScript规范详解** JavaScript,一种广泛应用于网络开发的编程语言,其核心语法标准是由ECMA国际制定的,名为ECMAScript(ES)。最新版本的ECMAScript规范不断引入新的特性和功能,以适应不断变化...

    ECMAScript 6入门.pdf

    ECMAScript 6,也被简称为ES6,是JavaScript语言的下一代标准,它的发布目的是为了让JavaScript语言能够用于编写更复杂的大型应用程序,进而成为企业级开发语言。ES6在2015年6月正式发布,并且按照计划,标准制定者...

    ECMAscript

    - **随后的几年**,JavaScript继续演进,从1.3到1.8,逐步增强其功能并逐渐与ECMAScript规范保持一致,尤其是在Firefox 1.0中搭载的JavaScript 1.5,这是一个里程碑式的版本,完全遵循ECMA-262规范第三版。...

    深入理解ECMAScript 6 学习指南(中文版和英文版)(学习javascript完整版)

    深入理解ECMAScript 6 (中文版和英文版javascript完整版),可以两版对比学习 Understanding ECMAScript 6:The definitive guide for Javascript developers 作者Nicholas C·Zakas曾编著JavaScript高级程序设计

    Understanding ECMAScript 6 The Definitive Guide for JavaScript Developers mobi

    Understanding ECMAScript 6 The Definitive Guide for JavaScript Developers 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    前端编程 + JavaScript、ECMAScript 6 + 教程 + 掌握 ES6 特性

    1. **内容概要**:本教程聚焦ES6新特性,涵盖箭头函数、模板字符串、解构赋值等,结合实例讲解,助你掌握ES6在JavaScript中的运用。 2. **适用人群**:有一定JavaScript基础的开发者,想提升编程技能;初学者可借此...

Global site tag (gtag.js) - Google Analytics