概述

前端三剑客,html、css、js。

这三种语言基本是前端开发必备的东西,那么你知道这三种语言分别负责的功能是什么吗?

  • html:负责了一个页面的结构
  • css:负责页面的样式
  • JavaScript:负责与用户进行交互

html与css的功能不做赘述,那么,JavaScript是如何负责与用户进行的交互呢?

比如说,我们在网页上输入一个账号,账号的格式要求是必须全部是数字,结果你输入了12343a,这时候网页会给出相应的提示,就是这个意思。

1997年欧洲的计算机协议(ECMA)组织给javascript规定了相关的协议

JavaScript由三部分构成:

  • ECMAScirpt(规范了基本的语法)
  • BOM (浏览器对象模型)
  • DOM (文档对象模型)

接下来我们来介绍一下JavaScript特点:

  • 安全性(javascript的代码不能直接访问硬盘的内容)
  • 跨平台(很简单,只要有浏览器,就可以运行js)

最后来说一下javascript与java之间区别 :

  • javascript是属于网景公司产品, java是sun公司的产品
  • javascript是基于对象的语言,java是面向对象的语言

    基于对象:不具备面向对象的三大特征,但是有对象
  • javascript是解释型语言;java是解释、编译型语言
  • javascript是弱类型语言, java 是强类型语言

    java中声明变量的时候必须要明确该变量的数据类型

    javascript声明变量不需要明确是何种数据类型, 任何的变量都是使用一个关键字var去声明的

在了解了JavaScript的一些基本内容之后,我们就要进入JavaScript的编写工序了!

如何编写JavaScript的代码

1.首先说一下JavaScript中常用的函数

  • alert(”显示的内容”) ——弹出框
  • document.write(”数据”)——-向页面输出数据
//1. 可以使用 <script> 标签体内进行编写,代码如下
<script type="text/javascript">
alert("666");
</script>

这个时候浏览html页面的时候就会弹出窗口,并显示666。

//2. 可以引入外部的javascript文件
格式:
<script src="1.js" type="text/javascript"></script>
注意:
1.<script>是有开始标签与结束标签的,千万不要在一个标签中结束了
2.如果<script>已经用于引入了js文件,那么该<script>标签体就不能再写js代码了

2.注释

//注释的内容 单行注释 /* 注释的内容*/ 多行注释

3.JavaScript的变量声明

格式:var 变量名 = 数据

<script type="text/javascript">
var a = 10;
document.write("a="+a+"<br/>");
</script>

声明变量要注意的事项:

1. 在javascript中声明变量是使用var关键字声明的,javascript中的变量可以存储任意的数据类型数据

2. javascript中变量数据类型是根据存储的值决定的,可以随时更改存储数据的类型

3. 定义了多个同名的变量是,后定义的同名变量是覆盖前面定义的同名变量

4. 声明变量的时候可以省略var关键字,但是不建议省略

JavaScript的数据类型

typeof: 查看变量的数据类型。

使用格式:

        typeof 变量名

javascript的数据类型:

number 小数与整数

string 字符串 注意: javascript中没有字符的概念,只有字符串,字符串可以写在单引号或双引号中。

boolean 布尔数据类型,

undefined  undefined代表该变量没有定义

typeof使用方法如下:

var a = 10;
document.write("a的数据类型是"+(typeof a)+"<br/>");

将字符串转换成数字

用到的方法有:

  • parseInt()—-将一个字符串转换成整数。

    如果接收的字符串含有非数字字符,那么parseInt方法会从字符串的首个字符开始寻找,一直找到非数字字符为止,然后就使用前面的数字字符转换成数字
var a = "a123";
var b = parseInt(a);
document.write("字符串a转换后的数字是:"+b+"<br/>"); var a = "123abc123";
var b = parseInt(a);
document.write("字符串a转换后的数字是:"+b+"<br/>"); var a = "012";
var b = parseInt(a);
document.write("字符串a转换后的数字是:"+b+"<br/>");

输出结果如下:

字符串a转换后的数字是:NaN not a number(不是一个数字)
字符串a转换后的数字是:123
字符串a转换后的数字是:12 如果首位是0,那么就先去掉0在进行转换
字符串a转换后的数字是:18 如果一个字符串是以0x开头,那么会把字符串中的内容当成十六进行的数据处理
  • parseFloat()—–将一个字符串转换成浮点型数字。

    代码如下:
<script type="text/javascript">
var a = 3.14;
var b = parseFloat(a);
document.write("结果是:" + b);
</script>

这里输出的结果是3,14

根据上面的这些例子,我们可以知道,并不是所有的字符串都可以转换成数字,那么,我们应该如何判断一个字符串是否能够转换成数字呢?

JavaScript提供了一个IsNaN(is not a number)的方法帮助我们判断字符串是否可以转换成一个数字。千万注意的是,这个方法和以往的方法有做不同,这个方法中,不是一个数字返回true,是一个数字返回false。(有点反人类。。)

4.运算符

学到这一步,其实在其他语言(c或者java)中这部分内容都要介绍烂了,我只写一些比较重要的内容。

  • 一个数值加减true,其实是加减的0。而在java中,数字不能与布尔值相加减
  • 如果两个整数相除不能整除的时候,数值为小数
  • 比较运算符:字符串和字符串也能够比较、字符串能够与数字进行比较(先将字符串转换成数字再进行比较)

    比较规则如下:
/*
字符串与字符串的比较规则是: 情况1: 能找到对应位置上的不同字符,那么就比较第一个不同字符的大小。 情况2: 不能找到对应位置上的不同字符,这时候比较的是两个字符串的长度。 */
<script type="text/javascript">
document.write("10字符串和3的字符串比较谁的大?"+("19">"18888"+"<br/>"));
</script>

所以,上述代码输出的结果应该是true。

  • 逻辑运算符:没有单与(&)单或(|),只有短路与(&&)和短路或(||)
  • 三目运算符:布尔表达式?值1:值2

5.控制流程语句

  1. if语句

    特殊之处:

    在javascript中的if语句条件不单止可以写布尔表达式,还可以写任何的数据。

    number  非0为true, 0为false.
    string 内容不空是true, 内容空的时候是false。
    undefined:false
    NaN: false
  2. 选择语句

    特殊之处:在javascript中case后面可以跟常量与变量,还可以跟表达式

    代码如下:
var option = "A";
var a = "A";
var score = 66;
switch(option){
case a:
document.writeln("90分");
break;
case "B":
document.writeln("80分");
break;
case score>60?"C":"B" :
document.writeln("60分");
default:
break;
}

JavaScript学习总结(一)的更多相关文章

  1. JavaScript学习(一) —— 环境搭建与JavaScript初探

    1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

  2. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  3. JavaScript学习(3):函数式编程

    在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...

  4. JavaScript学习(2):对象、集合以及错误处理

    在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...

  5. JavaScript学习13 JavaScript中的继承

    JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...

  6. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  7. JavaScript学习11 数组排序实例

    JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...

  8. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  9. JavaScript学习09 函数本质及Function对象深入探索

    JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...

  10. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

随机推荐

  1. 2.10 学习总结 之 JQ加强

    一.说在前面  昨天 完成了体温统计APP的编写 今天 学习json数据结构 二.学习总结 1.json数据结构 1)什么是json: JSON(JavaScript Object Notation) ...

  2. HihoCoder第十周:后序遍历

    也就在大二学数据结构的时候知道了树的前序遍历.后序遍历.中序遍历.之后就忘了,在之后就是大四研究生老师考我,我当时还不知道,真够丢人的.自此之后,知道了如何通过其中两个得到第三个,但是也没有编程实现过 ...

  3. redis常用的命令行以及操作

    redis常用的命令行以及操作 转载酱紫人的理直气壮 最后发布于2018-07-30 17:00:41 阅读数 805  收藏 转载地址:https://blog.csdn.net/li_lening ...

  4. LCT(1)

    LCT(Link-Cut Tree,动态树)是一个支持动态修改树的结构的数据结构,其基本操作有 \(\texttt{access}\) , \(\texttt{findroot}\) , \(\tex ...

  5. vue学习(十一)vue-cli3开发单文件组件

    一 单文件组件介绍 二 如何安装Vue-Cli3脚手架 三 快速原型开发 四 vue-cli3生成项目 五 购物车项目搭建 六 购物车项目操作 七 Mock模拟数据 八 Vue中使用第三方组件(ele ...

  6. arduino双机通信 (解决引脚不够用)

    作用 实现将一个 arduino 中的多个 String 类型变量准确地传到另一个 arduino 中对应的多个 String 类型变量 中. 接线图 注意 TX 接另一个arduino的 RX !可 ...

  7. BZOJ:1927: [Sdoi2010]星际竞速

    题解:最小费用流+二分图模型: 左边表示出这个点,右边表示入这个点: #include<iostream> #include<cstdio> #include<cstri ...

  8. C# web.config常用配置说明(文件上传大小、调试、session)

    直接贴代码可好(后续用到的在更新) 黄色字体的为说明 <?xml version="1.0" encoding="utf-8"?><!-- 有 ...

  9. 深度理解js中var let const 区别

    首先要理解js中作用域的概念 作用域:指的是一个变量的作用范围 1.全局作用域 直接写在script中的js代码,在js中,万物皆对象,都在全局作用域,全局作用域在页面打开时创建,在全局作用域中有一个 ...

  10. 一名资深架构师规划Java程序员五年职业生涯指南

    每个程序员.或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来.今天我给大家分享的是一篇来自阿里大牛对五年工作经验程序员的职业建议,希望 ...