JavaScript简介

1.ECMAScript和JavaScript的关系

1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。

该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。

因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。

2.JavaScript语言

JavaScript 是脚本语言

JavaScript 是一种轻量级的编程语言。

JavaScript 是可插入 HTML 页面的编程代码。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript 很容易学习。

JavaScript 在刚诞生的时候,它的名字叫 “LiveScript”。但是因为当时 Java 很流行,所以决定将一种新语言定位为 Java 的“弟弟”会有助于它的流行。

随着 JavaScript 的发展,它已经成为了一门完全独立的语言,并且也拥有了自己的语言规范 ECMAScript。现在,它和 Java 之间没有任何关系。

可以在网页上实现复杂的功能,网页展现给你的不再是简单的静态信息,而是实时的内容更新,交互式的地图,2D/3D 动画,滚动播放的视频等等

3.HTML、CSS、JavaScript

HTML是一种标记语言,用来结构化我们的网页内容并赋予内容含义,例如定义段落、标题和数据表,或在页面中嵌入图片和视频。

CSS 是一种样式规则语言,可将样式应用于 HTML 内容, 例如设置背景颜色和字体,在多个列中布局内容。

JavaScript 是一种脚本语言,可以用来创建动态更新的内容,控制多媒体,制作图像动画,还有很多。

JavaScript基础之语言规范

1.如何使用?

1.可以直接在html页面内Script内写入代码
2.引入额外的JS文件

2.注释

// 这是单行注释

/*
这是多行注释,也可以当作单行注释使用
*/

3.结束符

Javascript中的语句要以分号为结束符

JavaScript语言基础

javaScript也是一门面向对象的 编程语言 即一切皆对象!!

name = 'jason'
name = 123
name = [1, 2, 3, 4] name可以指向任意的数据类型
但是有一些语言中,变量名之间指向一种后续不能更改

1.JavaScript变量声明

在js中,首次定义一个变量名的时候需要用关键字声明

1.关键字var
var name='jason' /*全部都是全局变量*/ 2.es6退出新语法
let name='jason' /*可以声明局部变量*/ 他们俩的区别:
var 在for循环里面定义也会影响到全局
let 在局部定义只会在局部生效

2.常量

python中没有真正意义上的常量,默认全大写就是表示常量
js中有真正意义上的的常量的,需要使用关键字const声明,这个常量不允许更改,一旦进行更改就会报错 const pi = 3.14
pi = 3.44 # 报错

3.变量的命名规范

变量名是区分大小写的。
javaScript推荐使用驼峰式命名规则。 1.变量名只能是(比python多一个&)
数字 字母 下划线 &
2.变量名命名规范(不遵循也可以)
1.js中推荐使用驼峰式命名
userName
dataOfDb
2.python推荐使用下划线的方式
user_name
data_of_db
3.不能用关键字作为变量名

4.支持编写js代码的地方

1.可以单独开设js文件书写
2.也可以直接在浏览器提供的console界面书写
在用浏览器书写js的时候,左上方的清空按钮只是清空当前界面,代码其实还在,如果你想要重新来,最好重新开设一个页面
(在使用浏览器书写你自己的js代码的时候推荐你在自己的html页面打开)

5.JavaScript的数据类型

如何查看当前数据类型,typeof 变量名;

js/python是一门动态类型,变量名绑定的数据值类型不固定

var name = 'jason'
name = 123
name = [11, 22, 33]
1.JavaScript的数据类型之数值类型(关键字叫number)

在js中它不分整形、浮点型,统称为数值类型

var a = 11;
var b = 11.11;
typeof a;
typeof b; 'number'
整型 浮点型 都为number类型
2.JavaScript的数据类型之类型转换
转换整型
parseInt()
转换浮点型
parseFloat() parseInt('123')
123
parseFloat('11.11')
11.11
parseInt('11.11')
11
parseInt('11adasdasdasd11')
11
parseInt('asddsad11')
NaN // 属于数值类型 表示的意思是 不是一个数字 为了与前端迎合,js做到了尽量避免报错
3.JavaScript的数据类型之字符类型(string)
var a = "Hello"
var b = "world;
var c = a + b;
console.log(c); // 得到Helloworld
var s = 'jason'
typeof s
'string'
var s1 = 'jason'
typeof s1;
'string'
var s2 = '''body'''
VM1243:1 Uncaught SyntaxError: Unexpected string // 不支持三引号 1.模板字符串(模板字符串除了可以定义多行文本之外还可以实现格式化字符串操作)
var s3 = `asadnkadnkasdjlhjhhljkhyhbnnnnnnnjk` // 数字1左边的那个符号
undefined
typeof s3
'string'
模板字符串替换
书写${} 会自动去前面找大括号里面的变量名对应的值
如果没有定义直接报错
案例:
var name = 'jason'
var age = 18
var sss = `
my name is ${name} and my age is ${age}
`
sss
'my name is jason and my age is 18' 2.字符串的拼接(内置方法)
在python中不推荐你使用 + 做拼接,使用join
在JavaScript中国推荐直接使用 + 做拼接,并且支持不同类型直接的拼接,它会自动尽自己最可的可能去进行类型转换然后拼接
name + age
jason18

js常见的内置方法

JavaScript知识-简介、语言规范、语言基础的更多相关文章

  1. JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}

    Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...

  2. OC语言-02-OC语言-基础知识

    一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...

  3. 有关 Azure 机器学习的 Net# 神经网络规范语言的指南

    Net# 是由 Microsoft 开发的一种用于定义神经网络体系结构的语言. 使用 Net# 定义神经网络的结构使定义复杂结构(如深层神经网络或任意维度的卷积)变得可能,这些复杂结构被认为可提高对数 ...

  4. C语言规范:C89、C90、C95、C99

    本文转载 [K&R C] 1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了<The C Programming Language>的第一版 ...

  5. c#语言规范

    0x00 分类 C#语言规范主要有两个来源,即我们熟知的ECMA规范和微软的规范.尽管C#的ECMA规范已经前后修订4次,但其内容仅仅到C# 2.0为止.所以慕容为了方便自己和各位方便查询,在此将常见 ...

  6. JAVA语言规范-线程和锁章节之同步、等待和通知

    JAVA语言规范:线程和锁 1 同步 java编程语言提供了线程间通信的多种机制.这些方法中最基本的是同步化,此方法是使用监视器实现的.JAVA中每个对象与一个监视器相关联,一个线程可以加锁和解锁监视 ...

  7. java 语言规范 java language specifications

    在线地址: https://docs.oracle.com/javase/specs/ java语言规范下载: 链接:http://pan.baidu.com/s/1miEpJwk 密码:f89v j ...

  8. Python语言规范及风格规范

    语言规范: http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_ ...

  9. Protocol Buffer技术详解(语言规范)

    Protocol Buffer技术详解(语言规范) 该系列Blog的内容主体主要源自于Protocol Buffer的官方文档,而代码示例则抽取于当前正在开发的一个公司内部项目的Demo.这样做的目的 ...

  10. PHP的语言规范

    PHP的语言规范: 1.php中的变量名区分大小写,但是函数名,类名,方法名,不区分大小写,但建议区分大小写 2.php代码必须书写在<?php?>(php标签),开启标记(<?ph ...

随机推荐

  1. 用QT、QImage来制作简单图像处理工具

    用QT.QImage来制作简单图像处理工具 源码地址: https://github.com/dependon/simple-image-filter 下载地址(windows版本) github 下 ...

  2. socket编程浅知识

    1:网络7层和tcp/ip5层 tcp协议; 三次握手 四次挥手 使用字节流进行信息交互 2:IP和端口 ip: 计算机在网络里面的唯一标识 ​ 端口: 程序在电脑里面的唯一标识 3: socket编 ...

  3. 实战干货|Spark 在袋鼠云数栈的深度探索与实践

    Spark 是一个快速.通用.可扩展的大数据计算引擎,具有高性能.易用.容错.可以与 Hadoop 生态无缝集成.社区活跃度高等优点.在实际使用中,具有广泛的应用场景: · 数据清洗和预处理:在大数据 ...

  4. 开源共建 | Dinky 扩展批流统一数据集成框架 ChunJun 的实践分享

    一.前言 ChunJun(原FlinkX)是一个基于 Flink 提供易用.稳定.高效的批流统一的数据集成工具,既可以采集静态的数据,比如 MySQL,HDFS 等,也可以采集实时变化的数据,比如 b ...

  5. 纯C#软实现openGL(V0.1),黑盒变白盒

    纯C#软实现openGL(V0.1),黑盒变白盒 为了彻底掌握openGL,做一个openGL的软实现(命名为SoftGLImpl)是必要的.(而非仅仅调用opengl32.dll) openGL A ...

  6. 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(13)

    1.问题描述: 推送通知里的skills标签有什么用?不填写似乎不影响推送,以及推送的点击跳转操作 解决方案: 鸿蒙系统的推送通知中的skills标签主要用于指定接收推送的应用程序所支持的能力(Ski ...

  7. RESTful API 设计原则深度解析

    在 Web 服务架构中,RESTful API作为一种轻量级.可扩展的接口设计风格,通过 HTTP 协议实现资源的标准化访问.本文从核心原则.URL 设计.HTTP 方法应用.状态管理及面试高频问题五 ...

  8. vue脚手架搭建,出现无法将“vue”项识别....

    前言: 肯定有很多小伙伴和我一样,想在各种开发工具的终端运行命令来新建vue-cli脚手架,可是vue命令就是识别不到,然后又很烦,不妨看看我这个解决方案吧!!! 遇见问题: vue : 无法将&qu ...

  9. vant批量选择删除列表

    代码如下 <template> <div class="wrapp"> <button @click="onEdit">{{ ...

  10. python 二维数组取值

    简介 a = np.ones((5,5)) 可以通过 a[1,1] a[1][1] 这两种方式取出数值,本质上是一样的.