Javascript入门学习

简介: 编程之道,程序员不仅仅要精通一门语言,而是要多学习几门。 第一课1:javascript的主要特点解释型:不需要编译,浏览器直接解释执行基于对象:我们可以直接使用JS已经创建的对象事件驱动:可以对以事件驱动的方式相应客户端的输入,无须经过服务器端程序安全性:不允许访问本地硬盘,不能将数据写入到服务...

编程之道,程序员不仅仅要精通一门语言,而是要多学习几门。

第一课
1:javascript的主要特点
解释型:不需要编译,浏览器直接解释执行
基于对象:我们可以直接使用JS已经创建的对象
事件驱动:可以对以事件驱动的方式相应客户端的输入,无须经过服务器端程序
安全性:不允许访问本地硬盘,不能将数据写入到服务器上
跨平台:js依赖浏览器本身,与操作系统无关

第二课
如何在网页中写Javascript
1:在页面中直接嵌入Javascript
    <script language="javascript">
    
        javascript程序
    </script>
javascript可以插入在<head></head>标签中间,
也可以放在<body></body>标签中间    
最常用放在<head></head>标签之间    

案例如下,将javascript代码插入在<head></head>标签中间。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>初学javascript</title>

    <script language="javascript">
        var now=new Date();//获取Date对象的一个实例
        var hour=now.getHours();//获取小时数
        var min=now.getMinutes();//获取分钟数
        alert("当前时间"+hour+":"+min+"\n欢迎访问柠檬学院http://www.bjlemon.com/");
    </script>
</head>
<body>
</body>
</html>

案例运行结果如下


  

案例2代码如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>我的年月日</title>
    <script language="javascript">
        var now=new Date();//获取日期对象
        var year=now.getYear()+1900;//获得年,在js中年份需要加1900才可以显示此时此刻的年份
        var month=now.getMonth()+1;//获得月份,月份是0-11,所以在js中需要加1
        var date=now.getDate();//获得日
        var day=now.getDay();//获得星期几
        var day_week=new Array("礼拜日","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六");
        var week=day_week[day];
        var time="当前时间:"+year+"年"+month+"月"+date+"日"+week;
        alert(time);
    </script>
</head>
<body></body>
</html>

 案例2运行结果如下

 2:引用外部的Javascript

如果脚本比较复杂或者是同一段代码被很多页面所使用,则可以将这些脚本代码放置在一个单独的文件中,该文件的扩展名是.js,然后再需要使用该代码的web页面中链接该javascript文件即可

<script language="javascript" src="*.js">
</script>
(建议)以上代码一般写在<head></head>中间比较好

在.js后缀的文件中,不需要使用<script></script>标签对括起来

<body onload="getDate()">表示的是加载页面时调用getDate()方法getdate()是定义在.js后缀的文件中的方法

此案例后缀是.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>引用外部的js</title>
    <script language="javascript" src="js1.js">
    </script>
</head>
<body onload="getdate()">
</body>
</html>

此案例后缀是.js

function getdate(){
    var now=new Date();//获取日期对象
        var year=now.getYear()+1900;//获得年,在js中年份需要加1900才可以显示此时此刻的年份
        var month=now.getMonth()+1;//获得月份,月份是0-11,所以在js中需要加1
        var date=now.getDate();//获得日
        var day=now.getDay();//获得星期几
        var day_week=new Array("礼拜日","礼拜一","礼拜二","礼拜三","礼拜四","礼拜五","礼拜六");
        var week=day_week[day];
        var time="当前时间:"+year+"年"+month+"月"+date+"日"+week;
        alert(time);
    
}

综合上面两个案例的运行结果是


 第三课
javascript的语法
1:javascript的语法
  1.1:js的变量区分大小写
        usename,useName这是两个不同的变量
  1.2:每行结尾的分号可有可无,如果语句的结束没有分号,那么js
  会自动将这行代码的结尾作为语句的结尾
        alert("hello world");
        alert("hello world")
  1.3:变量是弱类型
        定义变量时只使用var运算符
        例如:var usename="biexiansheng";
              var age=22;
  1.4:使用大括号标签代码块
        {  //代码}被封装在大括号内的语句按照顺序执行
  1.5:注释
        1.5.1:单行注释  //
            单行注释使用双斜线"//"开头,在"//"后面的文字即为注释内容
            注释的内容在代码执行过程中不起作用。
            var now=new Date();//获取日期对象
        1.5.2:多行注释 /**/
            多行注释以/*开头,以*/结尾,在两者之间的内容为注释内容
            在代码执行过程中不起任何作用。
            /*
            *功能:获取当前日期
            *作者:biexiansheng
            */
            function getClock(){
                //内容
            }

第四课
javascript的数据类型(不管javascript有多少种数据类型,声明的时候只可以使用var来声明)
1:数值型
    整形:123   //十进制
          0123  //八进制,以0开头
          0x123 //十六进制 ,以0x开头(是零不是o)     
    浮点型:整数部分加小数部分,只能以十进制表示,不过可以使用科学记数法
          3.1415926   //标准形式的浮点数
          3.14E9      //采用科学计数法来表示,代表的是3.14乘以10的9次方
          
2:字符型
    字符型数据是使用单引号或者多引号括起来的一个或者多个字符
    例如:'a'    'hello world'
          "a"    "hello world"
    javascript中无char数据类型
    如果要表示单个字符,必须要使用长度为1的字符串
    
    单引号包含双引号 '"hello"'
    双引号包含单引号 "'world'"
3:布尔型
    布尔型数据只有true或者false,在js中也可以使用整数0代表false,使用非0的整数代表true

4:转义字符
    以反斜杠开头的不可显示的特殊字符通常称为控制字符,也被称为转义字符
    \b退格   \n换行   \f换页   \tTab符  \'单引号   \" 双引号   \\反斜杠

5:空值
    null,用于定义空的或者不存在的引用
    例如 var a=null;
    
6:未定义值
    已经声明但是没有赋值的变量
    var a;
    alert(a);
    弹出undefined是关键字,用来代表未定义值    

 
 7:Array型
    数组类型,数组是包含基本和组合数据的序列,在javascript脚本语言中
    每一种数据类型对应一种对象,数据本质上即为Array对象。
     var score=[45,56,45,78,78,65];
    由于数组本质上为Array对象,则可用运算符new来创建新的数组,如
    var score=new Array(45,65,78,8,45);
    访问数组中特定元素可通过该元素的索引位置index来实现,如下面语句声明
    变量返回数组score中第4个元素
    var m=score[3];

第五课
变量的定义与使用
1:变量的命名规则
    变量名由字母,数字,下划线组成,但是不能以数字开头
    不能使用javascript中的关键字
    严格区分大小写
    例如  username  username
2:变量的声明
    var variable
    可以使用一个var声明多个变量,比如
         var now,year,month,date;
    可以在声明变量的同时对它进行赋值,也就是初始化
         var now="2016-8-11",year="2016",month="8",date="11";
    如果只是声明了变量,没有赋值,那么该变量的默认值就是undefined
    
    javascript是弱类型,声明的时候不需要指定变量的类型,变量的类型将根据变量的值来确定
    
    全局变量的声明:1:在函数体外的声明都是全局变量,无论是否有var声明
                        2:在函数体内部使用var声明的变量是局部变量,不使用var声明的变量是全局变量
   

//如果给一个尚未声明的变量类型赋值时,javascript会自动使用该变量创建一个布局变量
例如:a="hello world";    
       funcation test(){
            var c="局部变量";//这个c是局部变量,也是唯一的一种方式定义局部变量
            b="全部变量";//这个b也是全部变量
       }
       
       function test2(){
            alert(b);
       }
    
3:变量的作用域
        变量的作用域是指变量在程序中的有效范围
        全部变量:定义在所有函数之外,作用于整个代码的变量
        局部变量:定义在函数体内,只作用于函数体内的变量

第六课
运算符的应用
1:赋值运算符
    简单赋值运算符
        例如var useName='tom';//简单赋值运算符
    复合赋值运算符
        a+=b;//相当于a=a+b;
        a-=b;//相当于a=a-b;
        a*=b;//相当于a=a*b;
        a/=b;//相当于a=a/b;
        a%=b;//相当于a=a%b;
        a&b=b;//相当于a=a&b;逻辑与运算
        a|=b;//相当于a=a|b;逻辑或运算
        a^=b;//相当于a=a^b;逻辑非运算符
2:算术运算符
+ - * / %
++ 前++先加后用   后++先用后加
-- 前--先减后用   后--先用后减
注意:在进行除法运算时,0不能作为除数,如果0作为除数,那么将会返回这个关键字infinity

3:比较运算符
>大于  <小于  >=大于等于  <=小于等于  
==等于         只是根据表面值进行判断,不涉及数据类型,alert("11"==11);返回true。
===绝对等于    不仅判断表面值,还要判断数据类型是否一样。
!= 不等于     只是根据表面值进行判断,不涉及数据类型。
!==不绝对等于 不仅判断表面值,还要判断数据类型是否一样。

4:逻辑运算符
    !逻辑非
    &&逻辑与。只有当两个操作数的值都为true的时候,结果才会true
    ||逻辑或。只有两个操作数有一个为true,则结果为true
5:条件运算符
    条件运算符是javascript支持的一种特殊的三元运算符
    语法格式:操作数?结果1:结果2;
          如果操作数的值为true,则整个表达式的结果为结果1
          如果操作数的值为false,则整个表达式的结果为结果2
6:字符串运算符
    连接字符串的两种方式
    +。 var a="hello"+"world";
    +=。var a+="hello world!!!";  

第七课
流程控制if,switch语句
1:if条件判断语句
    1:if(expression){
        //expression为true的时候执行里面的语句
    }
    2:if(expression){
        //expression为true的时候执行里面的语句
    }else{
        //expression为false的时候执行里面的语句
    }
    3:if(expression){
        //expression为true的时候执行里面的语句
    }else if(expression1){
        //expression1为true的时候执行里面的语句
    }else if(expression2){
        //expression2为true的时候执行里面的语句
    }else{
        //这个else可有可无,如果有的话,则上述条件
        //都不满足的时候指定else
    }
2:switch语句
优点:可读性好,易读
    语法格式
    switch(表达式){
        case 条件1:语句1;
                break;
        case 条件2:语句2;
                break;
        case 条件3:语句3;
                break;
        case 条件4:语句4;
                break;
        case 条件5:语句5;
                break;
        default:语句6//无匹配的执行此语句;        
    }
第八课
流程控制之for,while,do-while语句
1:for循环语句
    语法格式
    for(1初始条件;2循环条件;4增长步幅){
        3语句体;
    }
    //先执行初始条件,然后判断循环条件是否返回true,
    //如果返回false,终止条件,如果为true,执行语句体,
    //然后执行增长步幅
    //1->2true->3->4->2true->3->4
    //1->2false->3->4->2false  for循环结束
    实例
    var sum=0;
    for(var i=0;i<10;i++){
        sum+=i;
    }
    alert(sum);
2:while循环语句
    语法格式
        while(表达式1){
            2语句体;
        }
        1true->2->1true->2.....
        实例
        var sum=0;
        var i=1;
        while(i<10){
            sum+=i;
            i++;
        }
        alert(i);
3:do-while循环语句
    do-while循环的循环能够保证至少执行一次。
    语法格式
    do{
        1执行循环体
    }while(2判断条件);
    1->2true->1->2true.....
    
    注意:while循环是先判断条件是够成立,然后再根据判断的结果
    是否执行循环体
    do-while循环是先执行一次循环体,然后再判断条件是否为true.
    所以do-while循环能够保证至少执行一次。
    
    实例
    var sum=0;
    var i=1;
    do{
        sum+=i;
    }while(i<=10);
    alert(sum);

目录
相关文章
|
2月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
565 2
|
1月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
39 5
|
1月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
24 2
|
1月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
50 1
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
114 1
|
1月前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
41 0
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
|
2月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
42 4
js学习--制作猜数字
|
1月前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
87 10
|
2月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
52 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
1月前
|
数据采集 存储 JavaScript
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
本文介绍了如何使用Puppeteer和Node.js爬取大学招生数据,并通过代理IP提升爬取的稳定性和效率。Puppeteer作为一个强大的Node.js库,能够模拟真实浏览器访问,支持JavaScript渲染,适合复杂的爬取任务。文章详细讲解了安装Puppeteer、配置代理IP、实现爬虫代码的步骤,并提供了代码示例。此外,还给出了注意事项和优化建议,帮助读者高效地抓取和分析招生数据。
如何使用Puppeteer和Node.js爬取大学招生数据:入门指南
下一篇
DataWorks