20201225学习日记-初识Javascript

news2025/1/11 4:19:05

title: 20201225学习日记-初识Javascript date: 2020-12-25 10:19:45 categories:

  • [码农日常] tags:
  • [JavaScript]

前面粗略了解了一下HTML和CSS,接下来该到了不可或缺的JavaScript了。

JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled programming language with first-class functions 在这里记录一下学习过程中的小收获吧。

变量:let与var

第一次见到这样的两种变量的声明方式 var and let are both used for variable declaration in javascript but the difference between them is that var is function scoped and let is block scoped. It can be said that a variable declared with var is defined throughout the program as compared to let. ES6新增了let命令,用来声明局部变量。用法类似于var。但是所声明的变量,只在let命令所在的代码块内有效。 二者的区别有

1. let只在块内有效

先看用到 var 的一段代码。

function doSomething () {
    for (var i = 0; i < 5; i++) {
        console.log(i)
    }
    console.log('Finally ' + i)
}
doSomething()
0
1
2
3
4
Finally 5

再看用到 let 的一段代码。

function doSomething () {
    for (let i = 0; i < 5; i++) {
        console.log(i)
    }
    console.log('Finally ' + i)
}

doSomething()

打印结果如下:

0
1
2
3
4
/Users/dkvirus/Documents/study/study-typescript/ex1/var.js:5
    console.log('Finally ' + i)
ReferenceError: i is not defined

2. 变量提升

使用 let 语句声明一个变量,该变量的范围限于声明它的块中。 可以在声明变量时为变量赋值,也可以稍后在脚本中给变量赋值。

使用 let 声明的变量,在声明前无法使用,否则将会导致错误。

语法结构

javascript许多语法的设计是参考Java的,而Java的语法是参考C的,而也有轻微差异。

JavaScript数据类型

JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等:

var length = 7;                             // 数字
var lastName = "Gates";                      // 字符串
var cars = ["Porsche", "Volvo", "BMW"];         // 数组
var x = {firstName:"Bill", lastName:"Gates"};    // 对象 

JavaScript函数

js函数和C最大的特点在于,js不需要声明数据类型,而数据类型有一种(“隐式转换”)的感觉,

function myFunction(p1, p2) {
    return p1 * p2;              // 该函数返回 p1 和 p2 的乘积
}

JavaScript指针?

JavaScript不存在指针 通过传递引用的副本来传递对象。程序员无法访问任何表示对象地址的类似C的“值”。在一个函数中,可以通过该引用更改传递的对象的内容,但是您不能修改调用者拥有的引用,因为您的引用只是一个副本。

其他

JavaScript的语法结构,包括对于object对象的声明处理等,都和C有着一些差异,这里不做记录。

HTML DOM

说道JavaScript就不得不说HTML DOM,DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。

在这里用runoob的一张图。

可以理解为,html上的组件,都有一个接口事件,而js可以监听相关事件,当产生事件时可以进行一系列的操作。

写在后面

这篇仅仅记录一下学习过程中的心得,很多实际需要用到的比如说node.js都没有记录在此,希望下一篇能记录下node.js的相关。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/76629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

交流电子负载的应用

电子负载最初是用于测试直流电源的专用产品。电子负载显示电源对各种负载条件的反应。电子负载中常见的FET开关和非电抗组件的使用避免了共振和不稳定性。DC随着越来越多的电子设备转换和存储能量&#xff0c;电子负载越来越受欢迎。它们可用于测试大多数直流电源&#xff0c;包…

【Linux从入门到放弃】Linux权限详解(用户权限、文件权限、权限设置)

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; L…

线性表之顺序表详解(1)

线性表 参考来源&#xff1a; 线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。 前驱元素&#xff1a; 若A元素在B元素的前面&#xff0c;则称A为B的前驱元素 后继元素&#xff1a; 若B元素在A元素的后面&#xff0c;则…

用HTML+CSS做一个漂亮简单的个人音乐网页

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Obsidian配置图床(PicGo:SM.MS)

前言 在使用了一段时间obsidian之后&#xff0c;发现了一个很致命的问题&#xff0c;就是图片的存储&#xff0c;与传统的富文本编辑器不一样的是markdown属于纯文本语言&#xff0c;文字和图片是分离的&#xff0c;这就导致了当你想插入图片时&#xff0c;发现图片被保存在了…

[附源码]计算机毕业设计驾校预约管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

项目运营后阶段发力(有人问我字节为啥要考算法,然后我就跑去问我同学)

前言 我记得之前有人跑过来问我&#xff1a;你知道为啥字节面试总会考算法吗&#xff1f;我没有回答&#xff0c;一方面是算法是大厂必考的东西&#xff0c;既然是必须的东西究竟个为什么有点白费心机&#xff0c;第二方面我没有进去过字节&#xff0c;所以我也拿捏不准为什么。…

元宇宙是下个风口?浅析元宇宙中的新商业模式

元宇宙的热度似乎还是高涨不下&#xff0c;那么今天由林工来浅析一下元宇宙有哪些机会可以把握&#xff1f; 随着2021年&#xff0c;扎克伯格将公司改名为Meta&#xff0c;宣布将一家社交媒体公司转变为一家元宇宙公司&#xff0c;并计划投入五千万美元来构建与元宇宙,许多科技…

保姆式计算机组件简介

目录 1&#xff0c;cpu 主频 cpu缓存&#xff08;位于cpu与内存的临时储存器&#xff0c;容量小但交换速度快&#xff09; 2&#xff0c;memory&#xff08;也就是储存器&#xff09; 1&#xff0c;外存储器 2&#xff0c;内存储器 3&#xff0c;l/o 4&#xff0c;bus&a…

【消息中间件】RocketMQ如何集成到SpringBoot

目录 ​ 一、前言 二、RocketMQ如何集成到SpringBoot项目 1、如果不用SpringBoot项目 1.1、引入依赖 1.2、启动BrokerStartup和NamesrvStartup服务端 2&#xff09;启动NamesrvStartup 1.3、生产者创建并启动以及发送消息 1.4、消费者创建并启动 2、RocketMQ集成到Sp…

谷歌seo外链建设指南

今天我分享的这些绝对是最接地气、最基础、最实用的&#xff0c;你用来做英文外链用这些技巧也会事半功倍。 发外链之前&#xff0c;首先是搜索&#xff0c;搜索可以发外链的地方。 通常只有两处地方可以让我们又简单、又轻松的发布优质的免费外链。 这两处地方就是博客和论…

客快物流大数据项目(九十五):ClickHouse的CollapsingMergeTree入了解

文章目录 ClickHouse的CollapsingMergeTree入了解 一、创建CollapsingMergeTree引擎表的语法 二、创建CollapsingMergeTree引擎的表

关于Integer

/*** 基本数据类型 包装类型* ----------------------------------------------* byte java.lang.Byte (父类是java.lang.Number)* short java.lang.Short (父类是java.lang.Number)* int …

基于微信小程序的springboot客运汽车票购票系统源码和论文

在客运公司工作 7 年之余&#xff0c;对客运管理的难度深有感触。特别是在春运期 间购票难依旧是长途汽车订票的一大难题。长途汽车和火车的订票管理虽然有 差异&#xff0c;但大体上是相同的。长途汽车在售票的过程中需要对旅客的起始地、目 的地、车次、订票和退票进行管理。…

论文精读:《DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries》

DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries 文章目录DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries论文精读摘要&#xff08;Abstract&#xff09;1. 介绍&#xff08;Introduction&#xff09;2. 相关工作&#x…

优维科技EasyOps®一体化运维平台入选“大信创产品目录”

以云计算、大数据为代表的新一代信息技术正在带来新的架构模式和应用模式&#xff0c;IT行业整个技术体系正面临一次大的换代升级机遇。在新技术更新换代的同时&#xff0c;中国IT产业也正面临前所未有的供应链安全问题&#xff0c;自主可控的信息技术应用创新&#xff08;信创…

Oracle项目管理之Primavera Unifier三种管理员模式

目录 一、系统管理员 二、公司管理员 三、项目管理员 Oracle Primavera Unifier 中有不同类型或级别的管理员&#xff0c;它们包括&#xff1a; 站点管理员&#xff08;也称为系统管理员&#xff09;公司管理员项目管理员或外壳管理员&#xff08;项目/外壳管理员&#xff0…

Servlet(三):基于Servlet实现程序、Cookie和Session、实现用户登录、上传文件

目录表白墙Cookie和Session实现用户登录上传文件表白墙 【服务器版的表白墙】 在之前通过前端代码实现的表白墙有一个问题&#xff0c;当我们关闭页面后&#xff0c;表白的数据也就丢失了&#xff0c;下面我们要做的是做一个服务器版的表白墙&#xff0c;这样即使关闭页面&…

RocketMq01_概述及背景、主题、标签、队列、生产者、消费者、注册中心、工作流程

文章目录①. RocketMQ - 概述、背景②. 消息、主题、标签、队列、唯一标识③. 生产者、消费者、NameServer、Broker④. RocketMq - 工作流程⑤. Topic的创建模式、读写队列①. RocketMQ - 概述、背景 ①. RocketMQ是⼀款阿⾥巴巴开源的消息中间件。2016年11⽉28⽇,阿⾥巴巴向Ap…

Metal每日分享,波动滤镜/涂鸦滤镜效果

本案例的目的是理解如何用Metal实现图像波动效果滤镜&#xff0c;还可类似涂鸦效果&#xff0c;主要就是对纹理坐标进行正余弦偏移处理&#xff1b; Demo HarbethDemo地址 实操代码 // 波动效果 let filter C7Fluctuate.init(extent: 50, amplitude: 0.003, fluctuate: 2.5…