初识JavaScript和JavaScript基本语法

1.JavaScript简史(来自w3cschool)

1.Nombas 和 ScriptEase

    大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言。Cmm 背后的理念很简单:一个足够强大可以替代宏操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会。这个脚本语言捆绑在一个 叫做CEnvi 的共享软件中,它首次向开发人员展示了这种语言的威力。
    Nombas 最终把 Cmm 的名字改成了 ScriptEase,原因是后面的部分(mm)听起来过于消极,同时字母 C “令人害怕”。
    现在 ScriptEase 已经成为了 Nombas 产品背后的主要驱动力。

2.Netscape 发明了 JavaScript

    当 Netscape Navigator 崭露头角时,Nombas 开发了一个可以嵌入网页中的 CEnvi 的版本。这些早期的试验被称为 Espresso Page(浓咖啡般的页面),它们代表了第一个在万维网上使用的客户端语言。而 Nombas 丝毫没有料到它的理念将会成为万维网的一块重要基石。
    当网上冲浪越来越流行时,对于开发客户端脚本的需求也逐渐增大。此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更复杂。而更加加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次地往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段。
    那时正处于技术革新最前沿的 Netscape,开始认真考虑开发一种客户端脚本语言来解决简单的处理问题。
当时工作于 Netscape 的 Brendan Eich,开始着手为即将在 1995 年发行的 Netscape Navigator 2.0 开发一个称之为 LiveScript 的脚本语言,当时的目的是在浏览器和服务器(本来要叫它 LiveWire)端使用它。Netscape 与 Sun 及时完成 LiveScript 实现。
    就在 Netscape Navigator 2.0 即将正式发布前,Netscape 将其更名为 JavaScript,目的是为了利用 Java 这个因特网时髦词汇。Netscape 的赌注最终得到回报,JavaScript 从此变成了因特网的必备组件。

3.微软和JScript

    因为 JavaScript 1.0 如此成功,Netscape 在 Netscape Navigator 3.0 中发布了 1.1 版。恰巧那个时候,微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与 Netscape 潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。
    在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界担心的增加,这个语言的标准化显然已经势在必行。

2.JavaScript概述

1.JavaScript的特点
  • 一种脚本语言
  • 基于对象
  • 动态性的
  • 简单易用
  • 安全性
  • 跨平台性
  • 改善用户体验
2.JavaScript的用法与输出

①用法:
HTML 中的脚本必须位于 <script> 与 </script> 标签之间。
脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。
1.放到<head>中

 <head>
        <meta charset="UTF-8">
        <title>第一个页面</title>
        <script>
       //点击跳转页面
            function myforward() {
                history.forward()
            }
            function myhref() {
                console.log(location.href)
                window.location.href="https://www.baidu.com";//跳转到百度
            }
            function myrl() {
                console.log()
                location.reload();//重新加载
            }
        </script>
    </head>

2.放到<body>中

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test</title>
    </head>
    <body>
        <script>
            document.write(alert("JavaScript你好!"));
        </script>
    </body>
</html>

也可以创建一个js文件,在<script>里引用

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

②输出:
JavaScript 可以通过不同的方式来输出数据:

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

3.JavaScript的核心语法

1.变量

var关键字来声明变量
JavaScript声明变量的语法如下:

var massage;//声明变量
massage = "hi";//不声明变量而直接赋值
var width = 34,height = 31;//连续声明变量和赋值

JavaScript的变量是采用弱类型的形式,所以用var关键字来声明变量是不必确定类型,而是在使用或者赋值时自动确定其数据类型。
值得注意的是,JavaScript是区分大小写的,massage和MASSAGE是两个不同的变量哦。

2.数据类型

JavaScript有五种简单的基本数据类型:

  • undefined 没有定义的数据类型
  • null 空类型,表示一个变量已经有值,但值为空
  • boolean 布尔类型,返回true或false判断
  • number 数字类型
  • string 字符串类型
  • 还有另外一个复杂的数据类型---->object对象类型
3.JavaScript运算符
类型 运算符
算术运算符 + - * / % ++ --
赋值运算符 =
比较运算符 < > >= <= = = !=
逻辑运算符 && ! ||

运算符使用实例:
这里只用了一些简单的常用的算数运算符与比较运算符,其他的以后再来介绍

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test2</title>
        <script>
            function myFunction() {
                document.getElementById("demo").innerHTML = "Hello World";
            }
        </script>
    </head>
    <body>
        <!-- 根据出行月份和舱位类型,核算机票的最终价格 -->
        <script>
            var time = new Date();
            var month = time.getMonth()+1;
            var currentmoney = 3200;//当前价格
            var cang = "头等舱";//舱位
            var zk = null;//折扣
        //判断你的折扣类型与最终价格
            if (month == 5 || month == 6 || month == 7 || month == 8 || month == 9 || month == 10) {
                if (cang = "头等舱") {
                    zk = "9折";
                    money = currentmoney * 0.9;
                } else {
                    zk = "75折";
                    money = currentmoney * 0.75;
                }
                document.write("您的机票原价:" + currentmoney +"<br>"+"您出行的月份为:" + month+"<br>"+ "舱位:" + cang + "<br>"+"您的折扣为:" + zk + "<br>"+"最终价格:" + money+"元");
            } else if(month ==1 || month == 2 || month == 3 || month == 4 || month == 11 || month == 12) {
                    if (cang = "头等舱") {
                        zk = "6折";
                        money = currentmoney * 0.6;
                    } else {
                        zk = "3折";
                        money = currentmoney * 0.3;
                    }
          //算出你的最终价格以及你的折扣力度
                document.write("您的机票原价:" + currentmoney +"<br>"+"您出行的月份为:" + month+"<br>"+ "舱位:" + cang + "<br>"+"您的折扣为:" + zk + "<br>"+"最终价格:" + money+"元");
            }
        </script>
    </body>
</html>

运行出来效果如下


运行效果
4.JavaScript注释

JavaScript与java、c#一样,都支持同样的注释格式
(1)使用“//”实现单行注释
(2)多行注释

<script>
/*
这是JavaScript的多行注释
*/
</script>
5.JavaScript的流程控制语句

JavaScript常用的成员流程结构有三种:

  • 顺序结构
        顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的。
  • 选择结构
        
    1.while循环
while( 布尔表达式 ) {
  //循环内容
}

注意:while循环如果一直返回的都是true,则代表此循环是死循环,应该避免这种情况
循环语句实例

 <table border="1" width="600">`
            <tr>
                <td>摄氏温度</td>
                <td>华氏温度</td>
            </tr>
            <script type="text/javascript">
            //摄氏度与华氏度的转换表格
                var f; // 华氏摄氏度
                var c = 0;//摄氏度
                var count = 1; //条目
                while (count <= 10 && c <= 250) {
                    f = c * 9 / 5.0 + 32; // 转换
                    document.write("<tr align = 'center'><td>" + c + "</td><td>" + f + "</td></tr>");
                    c = c + 20;
                    count++;
                }
            </script>
        </table>

2.do...while循环

do {
       //代码语句
}while(布尔表达式);

do...while循环是在执行完循环后再来检测条件表达式的值得
3.for循环

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

4.多重分支if语句

 if(条件1){
    //条件1成立时执行
}else if(条件2){
    //条件2成立时执行
}else if(条件3){
    //条件3成立时执行
}...else{
    //条件不成立时执行
}

总结

    JavaScript是我们在进行web网页开发是最常用的语言之一,也是web开发工作者必学的三门语言之一。
初识JavaScript我们知道了JavaScript的基本语法与他的流程控制语句以及其他的一些常识知识,但是这仅仅是一个开始,后面我们还要学到JavaScript的函数和JavaScript的对象以及jquery的相关知识。
而学习JavaScript只是一个前端工程师需要学的的东西的千分之一,一个好的前端工程师需要学习与了解的东西如下:


需要学习与了解的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 简单介绍 JavaScript的发展历史 1990年底,欧洲核能研究组织(CERN)科学家Tim Berners-...
    飘飘流浪者阅读 220评论 0 0
  • JavaScript的发展历史 JavaScript因为互联网而生,紧随着浏览器的出现而问世。1994年12月,N...
    饥人谷_深色晨雾阅读 326评论 0 0
  • 初识JavaScript 这个是在国外经常被应用的一条和JavaScript有关系的著名定律: Atwood's ...
    査辰昊阅读 364评论 0 0
  • JavaScript实现 JavaScript 函数和事件通常,我们需要在某个事件发生时执行代码,比如当用户点击按...
    _借东西的小人阅读 333评论 0 4
  • javaScript的发展史 1、1992年前后,Nombas公司发明了一种嵌入式脚本语言(C--)。 2、199...
    拾柒_aab0阅读 99评论 0 7