zoukankan      html  css  js  c++  java
  • js简介

    • JavaScript 

    本来打算在研究完servlet之后才开始进入前台,html,css,js,js库等等的。但是由于工作中用到了EXTJS,但是我还没有玩过。所以为了研究ext,我现在就开始整理js。


    • JS的简介
    js,全面JavaScript,是一种基于客户端浏览器,面向对象,事件驱动式的脚本语言。仔细琢磨js的定义,定义中有3个东西,1,基于客户端浏览器,明显的js是一种前台语言,也就是我们经常说的运行在浏览器中的一个脚本。运行js的主要环境是各种浏览器,我们通常会将js嵌入到互联网页中,由浏览器负责解释执行。2,面向对象,其实个人觉得这个说法不是很准确的,因为我看过一本书,js权威指南(建议大家去看看,写的有些繁琐,但是很经典的,我只看过一遍,在整理js这一系列博客的时候我会针对性的去参照那本书去深入研究下js,这个到时候再讲),js其实是基于对象编程的,不是纯面向对象的。java是面向对象的,面向对象4大特征:抽象,封装,继承,多态。前2点js也没多大问题,后面的js的继承是一种特殊的伪继承,后面会详细讲到,至于多态的话js应该是没有的吧,反正我是没有用到过。3,事件驱动,我们在写js和使用js的时候大量的用到了js函数,其中很多就是事件函数。比如说ajax的回调,比如说按钮点击触发的各个动作操作,这些都是事件。关于事件这块,我会专门整理几篇博客,浏览器之间的事件处理机制还是比较重要的一块的。这里不做赘述。4,脚本语言,也就是说弱类型语言,事先不需要编译,直接就可以被解释执行。js当然也是逐行执行的,它无需进行严格的变量声音,内置了大量的现成的对象,我们在编码的时候直接用就好了。OK,js的定义讲的很清楚了,下面说下js其他的。
    在js出现之前,互联网页面都是静态页面,也就是说浏览器内核解释执行html代码,是不能动的,只能做显示让人看看而已。直到出现了js,使得互联网页可以拥有丰富多彩的动画和用户交互。所以说js的主要功能就是:动态修改html页面内容:包括创建,删除html页面元素,修改html页面元素的内容,外观,位置,大小等等。js由网站服务器开发,然后客户通过下载下载到本地客户端来执行,因此js有如下2个限制:
    1,js不能访问本地客户机的本地磁盘系统
    2,js不能打开客户机上网络连接。

    • java和js

    js的名字里面有一个java,然后我们玩j2e实际上也主要是在玩java和js。所以我觉得对比下这2种语言,详细的整理下2者的区别什么的还是很有必要的:
    1,java和js是2个完全不同的产品。java是sun公司的得意之作,是在C++的基础上推出的一种面向对象的程序设计语言。js是Netscape公司的产品,他是一种可以嵌入web页面中的解释性语言,目的就是说为了扩展浏览器的功能。
    2,java是纯粹的面向对象语言,js是基于面向对象的,什么叫基于?就是说可以运用面向对象的这种编程思想,但是它并不是纯粹的面向对象语言。玩java,即使是开发最简单的程序,也要必须从类定义开始。js基于对象,本身提供了非常丰富的内部对象供开发人员使用。写java就是写一个个的类,写js往往是写大量的函数。
    3,java和js的执行方式完全不同。java要经过编译这一步,才能变成可以执行的class这种2进制字节,js不用编译,可以直接有浏览器解释执行。
    4,这2种语言的变量申明也不一样。java采用强类型变量语言,所有的变量都具有固定的数据类型,而且变量必须经过申明才能使用。js是弱类型变量语言,使用的是不需要声明,由解释器在运行的时候检查其数据结构。
    5,代码格式不一样。java的代码是一种与HMTL无关的格式,必须通过像html代码应用外媒体那样去装载,其代码以字节码的形式保存在独立的文档中。js的代码是一种文本字符格式,可以直接嵌在html文档中,并且可以动态加载。所以编写html文档就想编辑文本文件一样方便的。

    • js,JScript,ECMAScript介绍

    最后,说一下还有一门和js差不多的脚本语言,就是JScript。他们2个差不多的,只是js是有Netscape开发的,JScript是有Microsoft开发的而已。现在2种语言都向后兼容了ECMAScript。也就是说现在我们一般说的js是一个通用的名称了呢,所有的浏览器都可以识别的。所以我们需要使用js脚本的时候,最好写<script language="javascript">这种,编程时也尽量避免使用浏览器特定的功能,最好遵循ECMAScript标准,这样子可以保证兼容性。

    • 运行js
    在html中运行js有2种方式:
    1,使用javascript:前缀来构建执行js代码的url。
    2,使用<script></script>标签来包含js代码。
    关于上面2种运行方式,我很少用第一种的。但是在现在的项目里面,大量充斥着这样子的代码。有一个小的细节就是说这里的javascript都是小写的,在我的印象中好像写成JavaScript也是可以的,一会我来验证一下。关于这种方式,它有一个条件就是说只能适用于设置url的地方。当我们去触发这个url的时候,里面的js就会自动执行了。第2种方式最为常见,写在标签里面,也就是我们平时天天说的js脚本,值得注意的是这个标签可以写在html代码的任何地方,包括head和body。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title> New Document </title>
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
     </head>
    
     <body>
      <h3>这里用来验证js的运行方式</h3>
      <a href="javascript:alert('注意:这里执行的js代码,而不是触发了一个js的函数');" >实践证明,这里的这个javascript是不区分大小写的,即使我写成了JaVaScript,也是可以的,我晕</a>
      <script>
    	alert('第2种方式:这里执行js');
      </script>
      <script src="linkin.js" type="text/javascript"></script>
     </body>
    </html>
    



    • 导入js
    一般的情况来说,我不建议将js写在html里面,这样子很混乱,所有的js文件应该单独拎出来,写成相关的js文件。代码是一种艺术,来到亚信,其实并没有得到我想要的,不过既来之则安之,努力的同时也希望自己勿忘初心。
    在html页面中导入js文件的语法如下:

    <script src="linkin.js" type="text/javascript"></script>

    alert('这里是我自己导入的js文件,src来表示路径,放进来就好了,相对和绝对路径都是可以的');


  • 相关阅读:
    Object类中常见的方法,为什么wait notify会放在Object里边
    什么是Java序列化和反序列化,如何实现Java序列化
    hashCode和equals方法的区别与联系
    MVC设计思想
    dstat命令--检查linux系统性能
    linux mint19.1解决网易云音乐安装后打不开的问题
    linux 修改用户密码
    MD5加密
    xmpp
    cocoapods安装
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233072.html
Copyright © 2011-2022 走看看