python学习-Day41-JS
作者:互联网
JavaScript
简介
# 1.JavaScript与Java没有半毛钱关系
之所以叫这么个名字纯粹是为了蹭当时Java的热度
# 2.JavaScript简称JS 也是一门前端的编程语言
前端由于非常受制于后端,所以有一些人异想天开想要通过js来编写后端代码一统江湖 由此开发了一个叫nodejs的工具(支持js跑在后端服务器上)>>>:不好用
# 3.JS最初由一个程序员花了七天时间开发的 里面存在很多bug
为了解决这些bug一直在编写相应的补丁 补丁本身又有bug 最后导致了js中有很多不符合逻辑的地方(成了大家墨守成规的东西)
# 4.JavaScript与ECMAScript
JavaScript原先由一家公司开发 希望其他公司都使用 最后被组织改名
# 5.版本问题
ECMA5
ECMA6
JavaScript 与 Java 是两种完全不同的语言,无论在概念上还是设计上。
Java(由 Sun 发明)是更复杂的编程语言。
# ECMA-262 是 JavaScript 标准的官方名称。
JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳。
JavaScript 已经由 ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。
# JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
# JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
"""
编写js代码的位置
1.pycharm提供的js文件
2.浏览器提供的js环境(学习阶段推荐)
"""
JavaScript 变量和注释
注释
通过添加注释来对 JavaScript 进行解释,或者提高代码的可读性。
# 单行注释以 // 开头。
单行注释可用于阻止其中一条代码行的执行(可用于调试)
# 还可以在行末使用注释
# 多行注释以 /* 开始,以 */ 结尾。
多行注释用于阻止代码块的执行(可用于调试)
变量、常量
变量是用于存储信息的"容器"。
# 就像代数那样
x=5
y=6
z=x+y
# 在代数中,我们使用字母(比如 x)来保存值(比如 5)。
通过上面的表达式 z=x+y,我们能够计算出 z 的值为 11。
# 在 JavaScript 中,这些字母被称为变量。
与代数一样,JavaScript 变量可用于存放值(比如 x=5)和表达式(比如 z=x+y)。
变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。
'''
变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
变量名称对大小写敏感(y 和 Y 是不同的变量)
'''
# JavaScript 语句和 JavaScript 变量都对大小写敏感。
声明(创建)变量
在 JavaScript 中创建变量通常称为"声明"变量。
在js中定义变量需要使用关键字声明
我们使用 var 关键词来声明变量
var carname;
变量声明之后,该变量是空的(它没有值)。
如需向变量赋值,需使用等号
carname="JOJO";
也可以在声明变量时对其赋值
var carname="JOJO";
可以在一条语句中声明很多变量。并使用逗号分隔变量即可
//该语句以 var 开头
var lastname="Doe", age=30, job="carpenter";
声明也可横跨多行
var lastname="Doe",
age=30,
job="carpenter";
一条语句中声明的多个变量不可以同时赋同一个值
var x,y,z=1;
// x,y 为 undefined, z 为 1。
如果重新声明 JavaScript 变量,该变量的值不会丢失
我们还可以用 let 关键字声明变量
let name = 'jojo'
var声明都是全局变量,let可以声明局部变量
声明常量
使用 const 关键字来定义一个常量。
const pi = 3.14
const 用于声明一个或多个常量,声明时必须进行初始化,且初始化后值不可再修改
const PI = 3.141592653589793;
PI = 3.14; // 报错
PI = PI + 10; // 报错
# 并非真正的常量:
const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。
const
定义常量与使用let
定义的变量相似:
- 二者都是块级作用域
- 都不能和它所在作用域内的其他变量或函数拥有相同的名称
两者还有以下两点区别:
- `const`声明的常量必须初始化,而`let`声明的变量不用
- const 定义常量的值不能通过再赋值修改,也不能再次声明。而 let 定义的变量值可以修改。
变量赋值
# 当您向变量分配文本值时,应该用双引号或单引号包围这个值。
# 当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
var pi=3.14;
// 如果你熟悉 ES6,pi 可以使用 const 关键字,表示一个常量
// const pi = 3.14;
var person="John Doe";
var answer='Yes I am!';
// 结束符号是以分号结束
数据类型
变量的数据类型可以使用 typeof 操作符来查看
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
数值类型(Number)
(相当于python里面的整型int和浮点型float)
# NaN:属于数值类型 意思是'不是一个数字'(not a number)
parseInt('abc') # 不报错返回NaN
parseFloat('abc') # 不报错返回NaN
字符类型(String)
(相当于python里面的字符串str)
JavaScript 字符串用于存储和处理文本。
字符串可以是引号中的任意文本。默认只能使用单引号或双引号
var name1="jojo";
var name2='JOJO';
//字符串中的引号不要与字符串的引号相同
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
格式化字符串用小顿号
var name3 = `jason`
字符串属性
字符串可以是对象
通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = "JoJo"
但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("JoJo")
var x = "JoJo";
var y = new String("JoJo");
typeof x // 返回 String
typeof y // 返回 Object
// === 为绝对相等,即数据类型与值都必须相等。
var x = "JoJo";
var y = new String("JoJo");
(x === y) // 结果为 false,因为 x 是字符串,y 是对象
原始值字符串, 如 "JoJo", 没有属性和方法(因为他们不是对象)。
原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。
字符串方法
布尔类型
(相当于python中的布尔值bool)
布尔(逻辑)只能有两个值:true 或 false。
js中布尔值是全小写
# 布尔值为false的: 0 空字符串 null undefined NaN
null的意思是空, undefined的意思是没有定义
Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量。
# python中布尔值时首字母大写
True False
# 布尔值为False的: 0 None 空字符串 空列表 空字典...
对象
(相当于python中的列表、字典、对象)
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
var person={firstname:"John", lastname:"Doe", id:5566};
// 上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
在 JavaScript中,几乎所有的事物都是对象。
定义 JavaScript 对象可以跨越多行,空格跟换行是关紧要的
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
可以说 "JavaScript 对象是变量的容器"。
但是,我们通常认为 "JavaScript 对象是键值对的容器"。
# 键值对通常写法为 name : value (键与值以冒号分割)。
键值对在 JavaScript 对象通常称为 '对象属性'。
# 对象键值对的写法类似于Python 中的字典
可以通过两种方式访问对象属性
person.lastName;
person["lastName"];
方法
# 数组(相当于python中的列表)
Array
var l1 = [11, 22, 33]
# 1.追加元素
js中使用push() python中使用append()
# 2.弹出元素
js和python都用的pop()
# 3.头部插入元素
js中使用unshift() python中使用insert()
# 4.头部移除元素
js中使用shift() python中可以使用pop(0) remove()
# 5.扩展列表
js中使用concat() python中使用extend()
# 6.forEach
var l2 = ['jason', 'tony', 'kevin', 'oscar', 'jerry']
l2.forEach(function(arg1){console.log(arg1)})
VM3143:1 jason
VM3143:1 tony
VM3143:1 kevin
VM3143:1 oscar
VM3143:1 jerry
l2.forEach(function(arg1,arg2){console.log(arg1,arg2)})
VM3539:1 jason 0
VM3539:1 tony 1
VM3539:1 kevin 2
VM3539:1 oscar 3
VM3539:1 jerry 4
l2.forEach(function(arg1,arg2,arg3){console.log(arg1,arg2,arg3)})
VM3663:1 jason 0 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
VM3663:1 tony 1 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
VM3663:1 kevin 2 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
VM3663:1 oscar 3 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
VM3663:1 jerry 4 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
# 7.splice
splice(起始位置,删除个数,新增的值)
标签:变量,python,JavaScript,JS,字符串,var,js,Day41 来源: https://www.cnblogs.com/GuoQQa/p/16201306.html