zoukankan      html  css  js  c++  java
  • javascript机制相关随笔

    1、自从第一份能够被有意义地书写于其它介质(我的意思是泛指计算机存储
    系统之外)的代码出现以来,一个重要的问题就被提了出来:要让计算机理解
    这份代码,就需要一个翻译系统。
    翻译系统有编译器与解释器两类。一般情况下,编译器将代码翻译成计算
    机可以理解的、二进制的代码格式,并置入存储系统(例如存为二进制可执行
    文件) ;解释器则用一个执行环境来读入代码,然后执行这份代码——这里主
    要是指单纯解释执行的语言系统。
    对于解释执行的系统来说,显然我们不必要总是逐字符读入并解释、执行 。
    由于一份代码如果被写定,那么执行时通常不需要改变,因此我们可以先将解
    释过程做一次,由源代码转换为中间代码(*),然后执行系统只需要处理中间代
    码即可。这样的好处是,执行系统可以变成虚拟执行环境,在不同的平台上用
    各自的虚拟执行环境来处理相同的中间代码,即可实现跨平台应用——这也是
    Java 和.NET 的基本实现思路。

    2、在 JavaScript 中,语法解释与执行分成两个阶段,而变量声明是在语法解释阶段处理的。

    3、在 JavaScript 中,显式声明的变量在函数和全局作用域中,是没有次
    序限制的。你可以先声明再使用,也可以先(在某些语句或表达式中)使用它 ,
    最后再显式地声明。因此显式声明总是早在代码执行之前,就被引擎理解了的 。

    4、通过 var 语句来声明的变量,在
    语法解释期中的值总是 undefined。但在函数的显式声明中,就不是这样了。

    5、在 JavaScript 中,对象可以轻松地持有它自身,或者
    它的类——只要它们在可视的局部或全局范围内,被显式地声明过。

                   《Javascript语言精髓与编程实践》-周爱民

  • 相关阅读:
    Triangle
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
    面试题之判断栈的入栈和出栈序列的合法性
    对称矩阵的压缩存储和输出
    栈的经典面试题之用两个栈实现一个队列
    C++的三大特性之一继承
    C++之类的析构函数
    malloc函数的底层实现你是否清楚
    【超详细教程】使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结,再也不愁发博客了
  • 原文地址:https://www.cnblogs.com/chenqiangmingyu/p/js_system.html
Copyright © 2011-2022 走看看