编程语言
首页 > 编程语言> > python学习-Day41-JS

python学习-Day41-JS

作者:互联网

目录

image

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环境(学习阶段推荐)
	
"""

image

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 变量都对大小写敏感。

image

声明(创建)变量

在 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!';

// 结束符号是以分号结束

image

数据类型

变量的数据类型可以使用 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`

字符串属性

image

字符串可以是对象

通常, 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 在执行方法和属性时可以把原始值当作对象。

字符串方法

image

image

布尔类型

(相当于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"];

image

方法

# 数组(相当于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(起始位置,删除个数,新增的值)

image

标签:变量,python,JavaScript,JS,字符串,var,js,Day41
来源: https://www.cnblogs.com/GuoQQa/p/16201306.html