一、JavaScript介绍

1、JavaScript:轻量级的客户端脚本语音
2、目前js已经不仅仅是客户语音,基于NODE可以做服务器端程序,所以Javascript是全栈编程语音
3、js及部分组成

  • ECMAScript (ES):js的核心语法
  • DOM:docment object model 文档对象模型,提供各种api(属性和方法)让js可以获取或操作页面中的HTML元素(DOM和元素)
  • BOM:browser object model 浏览器对象模型,提供各种api让js可以操作浏览器
  • ESMAScript
    • 他是js的语法规范,js中的变量,数据类型,语法规范

二、JavaScript变量(variable)

它不是指具体值,只是一个用来存储具体容器或者代名词,因为他存储的值可以改变。

1.基于ES语法规范,在JS中创建变量有以下方式

  • 严格区分大小写
  • var(ES3)
  • function (ES3) 创建函数(函数名也是变量,只不过存储的值是函数类型的而已
  • let (ES6)
  • const (ES6) 创建的是常量
  • class (ES6)基于ES6创建类
  • import (ES6)基于ES6的模块规范导出需要的信息
/*
*   语法:
*   var [变量名] = 值;
*   let[变量名] = 值;
*   const[变量名] = 值;
*   function 函数名(){
*   }
*   ....
*/

2、创建变量,命名的时候要遵循一些规范

  • 严格区分大小写
var n = 12;
var N = 13; //=>两个n不是同一个变量
  • 遵循驼峰命名法:第一个小写,后面的单词大写按照数字,字母,下划线来命名(数字不能做为开头)
var studentInfo; / student_info/
var _studentInfo;//(下划线在前端的都是公共变量)
var $studentInfo;//(一般存储都是JQ元素)
    function  ion toLowerPase(){
}
  • 不能使用关键字

三、数据类型

1、基本数据类型

  • 基本数据类型(值类型)

    • 数字 number

    [基本数据类型]
    有一个特殊的NaNnot a number代表不是一个有效的数字但是属于number类型的

    • 字符串 string
    • 布尔 boolean
    • null
    • undefined
  • 引用数据类型
    • 对象object

      • 普通对象
      var o = {name:'xie',age:18}
      • 数组对象
      var ary = [1,2,34];
      • 正则对象
      var reg = /-?\d|([1-9]\d+))(\.\d+)?/g;
      由元字符组成一个完整的正则
      // 不是空正则是单行注释
      • 日期对象
      • ·······
    • 函数function
    function fn()
    {
    }
  • ES6中新增加的一个特殊的类型:Symbol,唯一的值
[Symbol]
创建出来的是唯一的值
var a = Symbol('谢');
var b = Symbol('谢');
a==b  =>false

2、浏览器

  • Elements:在当前页面的元素和样式在这里都可以看到,还可以调节样式修改结构等
  • Console:控制台,可以在JS代码中通过.log输出到这里,也可以在这里直接编写JS代码
  • Sources:当前网站的源文件都在这里

3、扩展:JS代码如何被运行以及运行后如何输出结果
[如何被运行]

  • 把代码运行在浏览器中(浏览器内核来渲染解析)
  • 基于NODE来运行(NODE也是一个基于V8引擎渲染和解析JS的工具)
    [如何输出结果]
  • alert:在浏览器中通过弹框的方式输出(浏览器提示框)
    ps:输出的结果是toString后的结果
//基于alert输出的结果都会转换为字符串:(如果是表达式先计算出结果然后在用toString方法转换为字符串
var num = 21;
alert(num); =>window.alert
alert({name:'xxx'});=>['object Object']
//为什么toString后的结果是object??
  • confirm:确认提示框
var num = 2;
var fiag = confirm(num);
alert(fiag);//如果点击的是确定就是true点击的是取消则是false
  • prompt:在confirm的基础上增加输入框(不常用)
  • console.log:原来的意思是在浏览器工作台输出日志
  • console.dir:比log输出的更加详细一些(尤其是输出对象的数据值的时候)
  • console.table:把一个JSON数据按照表格的方式输出

初学JavaScript从入门到放弃(一)JavaScript介绍、变量、数据类型的更多相关文章

  1. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...

  2. JavaScript快速入门(一)——JavaScript概览

    JavaScript是什么? JavaScript的诞生 在1995年前后,当时世界上的主流带宽为28.8Kbps,现在世界平均下载带宽为21.9Mbps(数据来源于http://www.netind ...

  3. JavaScript 从入门到放弃(一)事件委托和使用innerHTML添加元素

    一.使用事件委托 一个简单的需求,比如想给ul下面的li加上点击事件,点击哪个li,就显示那个li的innerHTML.这个貌似很简单!代码如下! <!DOCTYPE html> < ...

  4. 【JavaScript从入门到放弃】JS基础-01

    作为一个前端开发人员,JS是我们行走江湖吃饭的家伙.基本上一个前端人员能值多少大洋,就看JS了.虽然各种框架层出不穷,但是归根结底学好原生JS才是硬道理. 学习任何新东西其实都遵循 10000 小时成 ...

  5. JavaScript 从入门到放弃(二)模块化工具requirejs

    入门教程: 1.JS模块化工具requirejs教程(一):初识requirejs 2.JS模块化工具requirejs教程(二):基本知识 描述 这几天在使用github最活跃的基于bootstra ...

  6. JavaScript快速入门(三)——JavaScript语句

    JavaScript基本语句 基本概述 JavaScript是脚本语言,从上到下解释执行,最小单位为语句或语句块,每个语句以分号结尾,每个语句块以右大括号结尾. JavaScript可以将多条语句或语 ...

  7. JavaScript快速入门(二)——JavaScript变量

    变量声明 JavaScript的变量声明分为显式声明跟隐式声明. 显式声明 即带var关键字声明,例如 var example = example; 要注意JavaScript里面声明的关键字只有fu ...

  8. Java从入门到放弃——02.常量、变量、数据类型、运算符

    本文目标 理解什么是常量,什么是变量 认识八大基本数据类型 了解算数运算符.赋值运算符.关系运算符.逻辑运算符.位运算符.三元运算符 1.什么是常量与变量? 常量是相对静止的量,比如整数:1,2,3 ...

  9. 【转】HTML, CSS和Javascript调试入门

    转 http://www.cnblogs.com/PurpleTide/archive/2011/11/25/2262269.html HTML, CSS和Javascript调试入门 本文介绍一些入 ...

随机推荐

  1. Luogu3403: 跳楼机

    题面 传送门 Sol 有一个显然的想法 处理出\(y, z\)能凑出的高度 然后这些高度凑一些\(x\)就可以得到其它的高度 那么可以把这些\(y, z\)凑出的高度对\(x\)取模,其它的用\(x\ ...

  2. 前端之body标签中相关标签(一)

    一 字体标签   字体标签包含:h1~h6.<font>.<u>.<b>.<strong><em>.<sup>.<sub& ...

  3. Web前端面试指导(十九):CSS样式-如何清除元素浮动?

    题目点评 本题属于比较常问的题目,也是在网页设计中经常遇到的问题,面试官希望通过这样的面试题来了解你对网页设计的基本功底,如果这样的题目答不出来,必会让面试官大失所望,面试成功的概率是非常小的. 答题 ...

  4. vue中数组删除,页面没重新渲染

    创建一个组件时,数据类型是数组,在删除这个数组中的数据时,数组中的数据是对的,但页面渲染的数据却不对. 举例:(不一定复现) <ul> <li v-for="(item, ...

  5. .NET开源工作流RoadFlow-流程运行-管理员干预

    在流程运行过程中管理员可以干预流程实例的走向,如管理加强制退回,指派和删除流程实例操作.在 流程管理-->实例管理 中查找到相应的流程实例,点击管理按钮即可管理该流程实例: 点击指派按钮,选择要 ...

  6. 【Machine Learning】决策树之简介(1)

    Content 1.decision tree representation 2.ID3:a top down learning algorithm 3.expressiveness of data ...

  7. 【转】Spark on Yarn遇到的几个问题

    本文转自 http://www.cnblogs.com/Scott007/p/3889959.html 1 概述 Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManage ...

  8. 使用webBrowser下载文件

    如果直接用webBrowser.Navigate("http://***.com/");会弹出文件下载的对话框. 而如果用webclient.UploadData()下载,对方网站 ...

  9. ZT 初始化 const 成员和引用类型成员(C++)

    初始化 const 成员和引用类型成员(C++) 初始化 const 成员和引用类型成员的问题,在 C++ 教材中讲述初始化列表的章节应该都有讲过,但是因为平时用得少,所以可能有不少人没注意到.待到用 ...

  10. Ettercap结合sslstrip对ssl/https进行攻击

    Ettercap是一个非常强大的嗅探欺骗工具:在以往的ettercap的使用过程中,我们大多用来嗅探http,ftp,和一些加密比较简单的邮箱等的密码,对于新型的ssl/https等的加密协议就显得不 ...