本篇主要关于原生JavaScript的介绍,其中包括其嵌入HTML页面方式,JavaScript的语法结构,以及贪吃蛇案例;

一、绪论

  JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScript是浏览器解释执行的。

 前端三大块 
  1、HTML:页面结构
  2、CSS:页面表现:元素大小、颜色、位置、隐藏或显示、部分动画效果
  3、JavaScript:页面行为:部分动画效果、页面与用户的交互、页面功能

二、JavaScript的嵌入方式

  1、行间事件(主要用于事件)

  1. <input type="button" name="" onclick="alert('ok!');">

  2、页面script标签嵌入

  1. <script type="text/javascript">
  2. alert('ok!');
  3. </script>

  3、外部引入,在日常项目中我们通常将 .js 文件放在js文件夹内;

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

 而在第二种方式中,我们想要获取HTML中的元素时,若直接写则会获取不到HTML中的元素,那么有两种解决方式:

  一、将<script></script>标签写在<html></html>标签的下面;

  二、在<script></script>下写入document.onload事件,例如:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>javascript引入方式</title>
  6. <script type="text/javascript">
  7. document.onload = function(){
  8. // JavaScript代码
  9. }
  10. </script>
  11. </head>
  12. <body>
  13.  
  14. </body>
  15. </html>

三、变量、数据类型及语法规定

  JavaScript 是一种弱类型语言,javascript的变量类型由它的值来决定。 定义变量需要用关键字 'var';

  1. var iNum = 123;
  2. var sTr = 'asd';
  3.  
  4. //同时定义多个变量可以用","隔开,公用一个‘var’关键字
  5.  
  6. var iNum = 45,sTr='qwe',sCount='68';

 3.1 变量类型--5种基本数据类型:

  1、number 数字类型
  2、string 字符串类型
  3、boolean 布尔类型 true 或 false
  4、undefined undefined类型,变量声明未初始化,它的值就是undefined
  5、null null类型,表示空对象,如果定义的变量将来准备保存对象,可以将变量初始化为null,在页面上获取不到对象,返回的值就是null;

  1种复合类型:object,可能是数组、对象等

  

 3.2 变量、函数、属性、函数参数命名规范

   1、区分大小写
   2、第一个字符必须是字母、下划线(_)或者美元符号($)
   3、其他字符可以是字母、下划线、美元符或数字

 3.3 匈牙利命名风格:

  对象o Object 比如:oDiv
  数组a Array 比如:aItems
  字符串s String 比如:sUserName
  整数i Integer 比如:iItemCount
  布尔值b Boolean 比如:bIsComplete
  浮点数f Float 比如:fPrice
  函数fn Function 比如:fnHandler
  正则表达式re RegExp 比如:reEmailCheck

四、函数及匿名函数

  4.1 函数

  函数就是重复执行的代码片。

  1. <script type="text/javascript">
  2. function fnAdd(iNum01,iNum02){
  3. var iRs = iNum01 + iNum02;
  4. return iRs;
  5. alert('here!');
  6. }
  7.  
  8. var iCount = fnAdd(3,4);
  9. alert(iCount); //弹出7
  10. </script>

  函数参数:类似于Python的函数,也是可以传参!!

  函数返回值:'return'关键字的作用:1、返回函数中的值或者对象;2、结束函数的运行。

  4.2 函数预解析:

  JavaScript解析过程分为两个阶段,先是编译阶段,然后执行阶段,在编译阶段会将function定义的函数提前,并且将var定义的变量声明提前,将它赋值为undefined。

  1. <script type="text/javascript">
  2. fnAlert(); // 弹出 hello!
  3. alert(iNum); // 弹出 undefined
  4. function fnAlert(){
  5. alert('hello!');
  6. }
  7. var iNum = 123;
  8. </script>

  4.3 匿名函数

  而定义的函数可以不给名称,这个叫做匿名函数,可以将匿名函数的定义直接赋值给元素的事件属性来完成事件和函数的关联,这样可以减少函数命名,并且简化代码。函数如果做公共函数,就可以写成匿名函数的形式。

  1. <script type="text/javascript">
  2.  
  3. window.onload = function(){
  4. var oBtn = document.getElementById('btn1');
  5. /*
  6. oBtn.onclick = myalert;
  7. function myalert(){
  8. alert('ok!');
  9. }
  10. */
  11. // 直接将匿名函数赋值给绑定的事件
  12. oBtn.onclick = function (){
  13. alert('ok!');
  14. }
  15. }
  16. </script>

五、条件语句 

  通过条件来控制程序的走向,就需要用到条件语句。

  条件运算符 :==、===、>、>=、<、<=、!=、&&(而且)、||(或者)、!(否)

  1. var iNow = 1;
  2. if(条件1){
  3. ... ;
  4. }
  5. else if(条件2){
  6. ... ;
  7. }
    // 条件1、条件2不满足时,执行else语句
  8. else{
  9. ... ;
  10. }

六、循环语句

  程序中进行有规律的重复性操作,需要用到循环语句。例如:

  1. var aList = [1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1];
  2.  
  3. var aList2 = [];
  4.  
  5. for(var i=0;i<aList.length;i++){
  6. if(aList.indexOf(aList[i])==i)
  7. {
  8. aList2.push(aList[i]);
  9. }
  10. }
  11.  
  12. alert(aList2);

  与Python不同的时:JavaScript中的for循环的结构为:

  1. for(声明变量i;条件语句;变量变化){
  2. 执行语句;
  3. }

  

  over~~~为了减少篇幅,请看下篇~~~~~~

03-JavaScript语法介绍的更多相关文章

  1. 03.JavaScript简单介绍

    一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) N ...

  2. javascript的介绍,实现和输出以及语法-javascript学习之旅(1)

    javascript的介绍 : 1.javascript死互联网最流行的脚本语言,可用于web和html,并且可用于服务器,pc和移动端 2.javascript脚本语言: 1.是一种轻量级的脚本语言 ...

  3. JavaScript:JavaScript语法的详细介绍

    JavaScript语法:只要Java会了,基本上javascript语法就会了. ——变量的定义 ——程序的结构控制 ——数组操作 ——函数的定义即使用 基本的test.html代码如下,它会导入下 ...

  4. JavaScript入门介绍(一)

    JavaScript入门介绍 [经常使用的调试工具][w3school.com.cn在线编辑] [Chrome浏览器 开发调试工具]按F121.代码后台输出调试:console.log("t ...

  5. Javascript语法基础

    Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...

  6. JavaScript DOM 编程艺术(1)---> JavaScript语法

    一.  JavaScript语法目录 语法 操作 条件语句 循环语句 函数 对象 二.  具体内容 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一 ...

  7. javaScript系列 [03]-javaScript原型对象

    [03]-javaScript原型对象 引用: javaScript是一门基于原型的语言,它允许对象通过原型链引用另一个对象来构建对象中的复杂性,JavaScript使用原型链这种机制来实现动态代理. ...

  8. JavaScript DOM 编程艺术 ---> JavaScript语法

    二.  JavaScript语法目录 2.1 语法 javaScript代码要通过HTML/XHTML文档才能执行.可以有两种方式完成这一点,第一种是将JavaScript代码放到文档<head ...

  9. 35.ES6语法介绍——2019年12月24日

    2019年12月24日16:22:24 2019年10月09日12:04:44 1. ES6介绍 1.1 新的 Javascript 语法标准 --2015年6月正式发布 --使用babel语法转换器 ...

随机推荐

  1. (转)How To Create a Sudo User on Ubuntu

    转自:https://linuxize.com/post/how-to-create-a-sudo-user-on-ubuntu/ The sudo command is designed to al ...

  2. 【PHP】使用phpoffice/phpexcel导入导出数据

    本例以thinkphp5.1为例 包地址: https://packagist.org/packages/phpoffice/phpexcel 使用: composer require phpoffi ...

  3. Kafka高级设计和架构,一文深化理解

    主题: 1.kafka是写磁盘还是写内存? 2.kafka究竟是由 consumer 从 broker 那里拉数据,还是由 broker 将数据推到 consumer? 3.如何区分已消费(consu ...

  4. python |elasticsearchs操作es的例子

    from elasticsearch import Elasticsearch import json import time es = Elasticsearch(['es地址:9200'],ign ...

  5. Django的分页器 paginator

    导入 from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger Page对象 Paginator.page()将返回 ...

  6. nexus 3.x最新版下载安装和上传下载jar

    注意: nexus 3.x最新版好像不用下载索引了,目前我使用一些基本功能没有索引也能耍的很6 下载 nexus最新版下载https://www.sonatype.com/download-oss-s ...

  7. IntelliJ IDEA破解教程汇总

    IDEA是一款很好用的工具,若资金允许,请点击https://www.jetbrains.com/idea/buy/购买正版,谢谢合作. 目前破解的方式主要有三种,注册机.破解补丁.注册码,下面分别介 ...

  8. 理解 Node.js 的 GC 机制

    <深入浅出Node.js>第五章<内存控制>阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已不再局限在浏览器中.本文不讨论网页应用.命令行工具等短时间执行 ...

  9. CentOS7-Docker 配置国内镜像源

    Docker中国官方镜像加速 --registry-mirror=https://registry.docker-cn.com 网易163镜像加速 --registry-mirror=http://h ...

  10. 使用 Redis 的 sorted set 实现用户排行榜

    要求:实现一个用户排行榜,用户数量有很多,排行榜存储的是用户玩游戏的分数,对排行榜的读取压力比较大,如何实现? 思路分析: 实现排行榜,可以考虑使用 Redis 的 zset 结构: 用户数量很多的话 ...