`

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...

    小型javascript/ecmascript解释器

    小型javascript/ecmascript解释器。RATJS是一个用C语言实现的小型javascript/ecmascript解释器。你可以用它来运行自己的javascript程序,也可以将它作为脚本引擎嵌入自己开发的程序中。

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

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

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

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

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

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

    ECMAScript中文最新(ECMA262)

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

    RATJS是一个用C语言实现的小型javascript/ecmascript解释器

    Rat Javascript - 小型javascript/ecmascript解释器。RATJS是一个用C语言实现的小型javascript/ecmascript解释器。你可以用它来运行自己的javascript程序,也可以将它作为脚本引擎嵌入自己开发的程序中。RATJS 使用 ...

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

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

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

    该项目是一款基于C语言核心构建的轻量级JavaScript/ECMAScript解释器,源代码共计277个文件,涵盖126个C源文件、107个头文件、19个JavaScript文件、6个Markdown文件、6个JSON文件、5个Shell脚本文件以及少量其他文件...

    ECMAscript

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

    Understanding ECMAScript 6 The Definitive Guide for JavaScript Developers mobi

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

    ECMAScript 5.1中文版

    ECMAScript 5.1 中文版,内容来自ecmascript.cn,做成的单文件版本。

    ecmascript 6 入门.pdf

    ECMAScript 6(ES6),是JavaScript语言的下一代标准,于2015年6月正式发布。它由ECMA国际标准化组织制定,旨在让JavaScript能够编写大型的复杂应用程序,成为企业级开发语言。ES6的制定者计划每年发布一次标准,...

    Ecma-262.rar_ECMA-262_ECMAScript_javascript

    "ECMAScript_javascript"表明此规范与JavaScript语言密切相关,JavaScript是基于ECMAScript实现的一种广泛使用的脚本语言。 ECMAScript规范的每个新版本都会引入新的特性和改进,旨在提升语言的灵活性和功能性。...

    ECMAScript6 入门及环境搭建

    ECMAScript 6(简称ES6)是JavaScript语言的一个重要版本更新,它在2015年正式发布,为JavaScript语言带来了大量的新特性和改进。在详细介绍ES6之前,我们需要了解JavaScript的历史以及它与ECMAScript标准的关系。 ...

Global site tag (gtag.js) - Google Analytics