zoukankan      html  css  js  c++  java
  • 【JavaScript脚本编程技术详解-----(一)】

    首先说明,本系列教程是写给有一定的JavaScript编程基础的同学看的,最好还有其它的编程语言经验,因为里面可能涉及一些其它的程序设计语言写的源代码,这都是我自己总结的经验,我喜欢在学习一门新的编程语言的同时,会拿新的编程语言跟我学过的某一门旧的编程语言作比较,一方面可以看出他俩的不同点,另一方面又可以加深对原来的编程语言理解。这只是我的一点个人理解,可能不适合所有人,希望在看文章的你能理解。

    下面说一下JavaScript的运行环境:

    严格来说,我们平时所说的JavaScript编程,它的主要的运行环境就是浏览器,也许你会说,这个大家都知道。

    我为什么说主要的运行环境呢?就是因为JavaScript还可以在其它环境中运行。

    其中比较著名的就是ASP,微软推出的的一种Web后端开发技术。也许有人会说,那是JScript,不是JavaScript。

    我不想争论这个,因为无论它是JScript也好,JavaScript也好,总之它们俩的大部分属性都是一样的。

    如果你关注前端新闻的话,现在出了一个Node.js,你至少应该听说过,Node.js就是现在比较火的一个JavaScript的

    端运行环境和平台。其实理论上只要运行环境提供一个JavaScript解释器,那么JavaScript就可以在里面运行,比如

    主流的编程语言C++,在VC开发工具里面有一个WebBrowser控件,它就是一个mini的没有菜单栏的小型浏览器,

    JavaScript就可以在它里面运行。再说几个,你也许会很吃惊的,迅雷,暴风影音,PPS,QQ等等软件开启之后

    弹出来的mini弹窗,其实那个页面就是使用HTML+CSS+JavaScript实现的,这个你想到了吗?亲?

    下面我们来说JavaScript编程语言的核心部分:

    1.在JavaScript中只有五种基本数据类型:

    Number、String、Boolean、null、undefined

    其它的对象(Object)、数组(Array)、函数(Function)等等都是复杂数据类型。

    2.在JavaScript中没有常量,但是仍然建议保留const,不要使用const做任何用途。以免将来JavaScript扩展出常量。

    3.在JavaScript中定义变量的方式有两种:

    1).使用var关键字定义。

    这种方式定义的变量的作用域有两种情况。

    在任何的函数外面使用var关键字定义变量,变量将成为全局变量,就是说在程序的任何地方都可以

    访问到。在函数内部使用var关键字定义的变量将成为局部变量,即只有在函数内部才能访问。

    代码:

    var test_global=88;
    function Test(){
    var test_local=55;
    }

    在上面代码中,test_global是全局变量,test_local是局部变量。

    2).不使用var隐式声明的变量。这种声明变量的方式有点像赋值,如:

    test=66;

    这种方式声明的变量全部为全局变量,无论是在函数内部还是函数外部。

    4.在JavaScript中没有块作用域。在C++、Java中有块作用域,而JavaScript中没有。

    下面的代码是初学者经常困惑的一段代码:

    for(var i=0;i<3;i++){
    console.log(i);
    }
    console.log(i);


    上面代码输出结果为:01 2 3

    而3就是for循环外面的输出语句输出的,说明这时候i是有值的,值为for结束后的3.

    5.在JavaScript中如果函数中的变量与外面的变量重名了,这时候分两种情况:

    如果函数内部的变量使用var关键字声明过,那么在函数内部就是操作的局部变量,如果相反,

    没有使用var关键字声明过,则操作的是全局变量,这里就遇到一个意外的,经常容易出错的

    地方,那就是如果在函数外部没有声明过这个变量,那么这个变量将自动成为全局变量。具体请看下面代码:

    var v1=25;
    function test(){
    var v1=22;
    console.log(v1);
    }
    test();//22
    var v1=25;
    function test(){
    console.log(v1);
    }
    test();//25
    console.log(v2);//出错
    function test(){
    v2=27;
    }test();
    console.log(v2);//27


    6.在JavaScript中false,null,0,"",undefined等价于布尔值的假,其它均为真。

    今天就先说到这里吧,有时间再继续跟大家唠叨。








  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/pangblog/p/3327718.html
Copyright © 2011-2022 走看看