JS介绍+变量

src href url

1 计算机语言: 机器语言(二进制) 汇编语言 高级语言

    机器语言和汇编语言主要是对机器设置的
    高级语言:  c c++  pathon  php Go...

2 计算机基础

  • 2.1 计算机组成:
    硬件: 输入设备 输出设备 CPU 硬盘(永久存储) 内存(暂时性内存)
    软件:
    1. 系统软件: windows linux macos
    2. 应用软件: qq wechat chrome
  • 2.2 数据存储
    1. 计算机内部都是二进制0,1表示的 图片文字 都是二进制的形式
    2. 硬盘内存里面都是二进制数据
  • 2.3 数据存储单位
    位 bit 一位(1bit)存储的是一个二级制数据0/1 最小的存储单位
    字节 Byte: 1B =8b
    千字节 kB 1KB=1024B
    兆字节 MB 1MB=1024KB
    吉字节 GB 1GB=1024MB
    太字节 TB 1TB=1024GB
    ...
  • 2.4 程序运行

硬盘-----内存条----CPU
cpu的处理速度很快 但是硬盘的访问读取速度很慢 会浪费cpu的性能 所以将需要处理的文件放置在内存中 (内存是电 硬盘是机械)
1. 打开某个程序 先从硬盘中把程序的代码加载到内存中
2. CPU执行内存中的代码

计算机组成

一JavaScript:

JS的作用:

(1) 表单验证;(密码强度验证) js产生的最初目的
(2) 网页特效
(3) 服务端开发(Node)
(4) 桌面程序
(5) App(Cordova)
(6) 控制硬件-物联网(Ruff)
(7) 游戏开发(cocos2d-js)

1.1 javaScript介绍
  • (1) 简介 :
    创始人: 布兰登.艾奇
    js是运行在客户端的脚本语言 是前端唯一的脚本语言
    通过chrome浏览器的v8 引擎解析 可以实现人机交互 提供逻辑思维

  • (2) 浏览器引擎 :
    a.渲染引擎: 用来解析html和css,俗称内核 chrome浏览器的内核blink和老版本的webkit
    b.JS引擎: 也成为js解释器,用来读取网页中的JavaScript代码,处理后运行,比如chrome浏览器的V8 (js是高级编程语言--只不过与c语言 Java语言比起来算是弱语言) 逐行翻译解释执行 所以叫做脚本语言

  • (3) 组成 :
    ECMAScript语法规范+webApis(DOM ,BOM ,api接口)
    DOM(Document Object Model) 文档对象模型:
    是w3c组织推荐的处理可扩展标记语言的标准编程接口.通过DOM提供的接口可以对页面上的各种元素进行的操作

      BOM(Browser  Object  Model) 浏览器对象模型:
          是指浏览器对象模型  提供了独立于内容的,可以与浏览器窗口进行互动的对象结构.通过BOM可以操作浏览器窗口,比如弹出窗 控制浏览器跳转 获取分辨率等
    

BOM是包括DOM的

1.2 js的书写位置:
  • 内联 写在html标签内 对应css的内嵌 引入方式 触发事件=处理函数
    ⭐区别:不写script

  • 内部 写在script标签内 一般写在最后 body结束标签之前

  • 外部 写在一个单独的.js文件内 通过script src='' 引入

    ⭐⭐⭐注意点:

(1) 内部: script代码的书写位置应该在所有的html结构之后 否则调用的元素可能会获取不到--此时html页面还没加载完成 没有对应的DOM节点 浏览器是逐行解析

(我们将 <script> 放在HTML文件的底部附近的原因是浏览器会按照代码在文件中的顺序加载 HTML。遇到script标签 会阻塞文档解析如果先加载的 JavaScript 期望修改其下方的 HTML,那么它可能由于 HTML 尚未被加载而失效。
因此,将 JavaScript 代码放在 HTML页面的底部附近通常是最好的策略。)

(2) 外部: 外部的js <script src>-----</script> 之间书写的代码 不会加载解析会被忽略

1.3 注释: 注释的内容是不会解析的

  • (1) 单行注释 // 快捷键 ctrl+/
  • (2) 块注释 /* */ shift+alt+a
1.4 结束符

a. 代表语句结束
b. ';' 英文状态下
c. 建议写 也可以不写
d. 换行会被识别为结束符

1.5 输入输出

输入: prompt() 提示框 🚩 获取到的是字符串

输出:

  1. alert() 警示框 会阻塞浏览器的执行 🚩并且只有一个参数
  2. document.write(); 向html页面输入内容 多个写入的内容以','分隔
  3. console.log() --clg 控制台输出

⭐⭐⭐alert和prompt 会阻塞线程 不会继续向下执行
快捷键: win+v 查看电脑剪切板

二 变量:

变量概述
    变量的使用
    变量的语法扩展
    变量命名规范
    变量交换案例
    变量在内存中存储规则
2.1 变量----计算机中用来⭐存储数据⭐的容器
  • 变量实质
    内存:计算机中存储数据的地方 相当于一个大空间

     **变量**: 程序在内存中申请的一块用来存储数据的空间
    
2.2 变量的创建方式
  1. 声明变量: 关键字--let 变量名
    var/let-----变量的声明 是js的一个关键字,用来声明变量 在内存中划分一块空间.
    age-----变量名 通过这个变量名 访问空间 找到内部存储的数据

  2. 变量赋值 '=' 将等号右边的内容赋值给左边的表达式
    ** 数据初始化:**声明一个变量并且赋值 我们称之为变量初始化

  3. 变量修改 /更新变量

  4. 可以一次声明多个变量','隔开即可

🚩let和var 创建变量的区别:

    1. var和let创建的变量 都可以提升变量的声明 但是var可以给为赋值的变量初始化为undefined 但是let不可以
    1. var声明的变量可以先声明后定义 但是let创建的变量只能先声明定义后才可以使用 let的变量作用域范围从let位置开始到'}' 结束的位置

名词解释:
⭐关键字: 系统内部已经定义好了的词汇; 有特殊作用 let var if
⭐字面量: 所见即所得 的🚩🚩常量🚩🚩 ----可以得知 数据的类型 和 值的大小

2.3 变量实质
  1. 内存:计算机中存储数据的地方 相当于一个大空间
  2. 变量: 程序在内存中申请的一块用来存储数据的空间


    image.png
变量的实质
2.4 变量命名规范:
  1. 字母数字下划线 _ $符号组成
  2. 不能使用关键字作为变量名 let var if else switch等
  3. ⭐不能以🚩数字🚩开头⭐ 数字开头识别有误区 不确定是数字或者变量
  4. 大小写敏感 -------app和App是两个变量
  5. 驼峰命名法 userName 第一个单词首字母小写
    语义化 + 后面单词首字母大写
    ⭐ 额外注意点:
    clg(1,2,3)
    d.w(1,2,3)
    alert(1) 不能写多个

3 数据类型:

🚩为什么要划分数据类型:
  • 不同类型的数据占据的内存的大小不同,主要还是合理化利用内存空间

  • ⭐⭐⭐ js是弱语言 在声明时没有说明变量的数据类型 只有在赋值时才知道;

数据类型
3.1分类:
  • (1) 基本数据类型 : 默认值
    Number 数字 0
    String 字符串 ''
    Boolean 布尔 false
    Undefined 不确定类型 undefined
    Null 空 null

  • ( 2) 引用数据类型 :
    数组 --Array
    对象 --Object
    函数 --function

3.2 五种基本数据类型:
  1. 数字: 包括整数和小数

      数据型的 三个特殊值
      1 Infinity:代表无穷大,大于任何数值
      2 -Infinity,代表无穷小的  小于任何数值
      3 NaN:  not   a   number,代表一个非数值
      4 isNaN()----方法   用来验证是否为非数字类型
          如果不是  返回true
          如果是数字   返回false
    
  2. 字符串: 单引号或者双引号或者`包裹的都是字符串; 字符串是字面量常量

           a  引号需要成对出现  嵌套规则: 内单外双  / 内双外单
           b  字符串转义符   字符串转义符  
       转义符都是以'\'开头  包裹在引号里
           符号                        功能
           \n                         换行符  n表示的是newline
           \\                          斜杠
           \'                         单引号 
           \"                         双引号 
           \t                         tab缩进符
           \b                         空格  b是blank的意思
    
           c  有些表单的注册页面对用户的输入内容有长短限制  
               例如:用户名的长度  密码的字数等等
               所以这里需要用到字符串的length属性 来获取长度的值
               str.length就是 ''中包裹的字符串的长度
    
           d  字符串拼接符  与Java一样  任何数据与字符串拼接返回值都是字符串类型
           只要'+'左或右出现字符串 这个符号就是起到字符串拼接的作用   返回到也是一个字符串
       ######JavaScript 定义反斜杠加上字符可以表示字符自身
    
❗❗❗ 模板字符串

包裹字符串${} {存放变量}--指代变量;
console.log(用户${uname1}\n申请${hobby}课程会员意向:${intention});

⭐模板字符串可以解析换行和空格

image.png

  1. 布尔类型: 用来表示真假---真 true 假 false;用来做条件判断

  2. 未定义类型: 当变量声明但是没有赋值时 变量的值类型是undefined

  3. null 空类型;
    null一般是用来存放对象:尚未创建的对象 但此时对象还没有创建好 既可以用null代替

⭐两者的区别 : undefined 未初始化 不能确定数据类型 没有内存空间
null 已经对变量进行赋值了 但是数据类型是null的


null和undefined的区别

⭐⭐⭐ 变量:声明

        不声明  不定义  ---------使用报错
        不声明  只赋值  ---------可以使用 
变量声明的区别
3.3 检测数据类型: typeof 变量
  • 🚩 js是弱语言 ,变量声明后 未赋值之前是不能确定数据类型的,所以需要检测数据类型

  • 注意: typeof后面不要() 不要当作方法使用

3.3.2 字面量:

字面量是源代码中一个固定值的表示法 通俗来说 就是字面量表示如何表达这个值
- 数字字面量: 8,9,10
- 字符串字面量: '我是救世大英雄'
- 布尔字面量: true false##### #####3.4 数据类型转换:把一种类型转换为另外一种类型
(1). ⭐使用prompt/input表单获取到的数据类型 都是字符串类型的 只能拼接无法做运算, 所以需要数据类型转换;

  • 隐式转换: 系统内部自动进行数据转换;
  1. '+' 字符拼接; 只要 + 的任意一侧出现了字符串 运算的结果就只能是字符串
  2. '- / *' 除了+以外的算术运算符 比如 - * / 等都会把数据转成数字类型
  3.    '+' +号作为正号解析可以转换成Number
         +prompt('输入数据吧');  ----typeof就是number
    
显示转换:
Number(数据):
    a. 转换为数字类型(整数/小数);
    b. 如果数据中存在非数字类型  转换结果为 NaN  
    c. NaN也是数字类型的一种  表示为非数字  typeof 结果也是Number

    parseInt(string)              将String转换为int整数类型(一刀切)
    parseFloat(String)            将String转换为float浮点类型
    Number(变量)强制转换函数        将string类型转换为数值型

⭐⭐⭐parseInt(),parseFloat()做数据转换时 实参以数字开头 但是含有非数字内容 会将数字部分转换为整数 但是如果一开始就是非数值 值就是NaN;

数据类型的转换
  把一种数据类型转换为其他数据类型
    常用的三种转换方式:   
            转换为字符串类型
            转换为数字类型
            转换为布尔类型


  a   "+"拼接符   也叫做隐式转换
  b   toString()方法    variable.toString()
  c   String() 强制类型转换   String(variable)//页面解释这里用的就是String  constructor
      //类似于java中的头String()方法和String()构造方法

3.3 转换为布尔类型
Boolean(变量)
代表空,否定的值会被转换为false, "" 0 null undefined NaN;
其余的值则都会是true

  构造大法好   String(vari)     Number(vari)   Boolean(vari)
拓展:

解释型语言: js 运行时及时进行解释 煮火锅 栓一个吃一个

编译型语言: java 代码执行之前编译 全部菜炒完上桌才能吃
区别: 在于代码执行过程中给翻译的时间不一样

标识符: 开发人员为变量函数起的名字
关键字: js已经用了 不能再使用
保留字: 预留的关键字 现在还没用 但是以后可能会用

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

推荐阅读更多精彩内容

  • 1、浏览器内核-2、css与js引入方式 1、浏览器内核 我们把浏览器中识别代码绘制页面的东西称之为浏览器的内核或...
    萌妹撒阅读 777评论 0 1
  • 1. document load 和 document ready 的区别 页面加载完成有两种事件 load是当页...
    南崽阅读 209评论 0 1
  • js的历史 在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一...
    LaBaby_阅读 281评论 0 2
  • 1、JavaScript简介 1.1、发展历程 》 1992年:Nombas公司开发C-minus-minus(...
    TerryLiu05阅读 160评论 0 0
  • 一、JavaScript起源 JavaScript诞生于1995年,它当时的目的是为了表单输入的验证。因为在Jav...
    fly5阅读 347评论 0 0