30 May 18 Javascript语法基础

30 May 18

# 图片太多,详细见link 以及文本

一、每日面试(知识复习)

1、问:执行完下面的代码后,  l,m的内容分别是什么?

def func(m):

for k,v in m.items():

m[k+2] = v+2

m = {1: 2, 3: 4}

l = m  # 浅拷贝

l[9] = 10

func(l)

m[7] = 8

print("l:", l)

print("m:", m)

# 报错:dictionary changed size during iteration

# (python3.6)在迭代一个列表或字典的时候,你不能修改列表或字典的大小

2、= 、 切片 、copy 、deepcopy

import copy

list1 = [11, 22, [33, 44]]

list2 = list1

list3 = list1[:]

list4 = copy.copy(list1)

list5 = copy.deepcopy(list1)

list1[2].append(55)

print("list2:",list2)  # [11, 22, [33, 44, 55]]

print("list3:",list3)  # [11, 22, [33, 44, 55]]

print("list4:",list4)  # [11, 22, [33, 44, 55]]

print("list5:",list5)  # [11, 22, [33, 44]]

print(id(list1))  # 4363819976

print(id(list2))  # 4363819976

print(id(list3))  # 4363820104

print(id(list4))  # 4363820040

print(id(list5))  # 4363834760

# 前几种是拷贝了一个连接地址,原列表改变后,这几种列表中的值根据连接取值,相应都作出变化。后一种(深拷贝)是开始就自建了一个空间,原列表中的值改变,其不跟着变化。

3、注释(规范化)

1、# TODO:在传git前会提示(这里没有考虑到)

2、行内注释balabala # balabala

3、单行注释# balabala

4、多行注释‘‘‘ ‘‘‘

5、函数、类内部注释

def foo(name, age):

"""

这个函数是干什么用的?

:param name: 用户名,必须是字符串类型

:param age:

:return: None

"""

print(name)

print(age)

4、join连接列表的元素(只能连接字符串)

list_tmp = [11, 22, 33, 44]

list_tmp2 = ["Alex", "DSB", "hehe", "haha"]

ret1= "".join(list_tmp2)

ret2= ",".join([str(i) for i in list_tmp])

print(ret1) # AlexDSBhehehaha

print(ret2) # 11,22,33,44

5、python中的三元表达式(三元运算)

# 如果n > m,我就把n的值赋值给x,否则就把m的值赋值给x

n = 10

m = 5

x = n if n > m else m

print(x)  # 10

二、今日内容

Blog链接:https://www.cnblogs.com/liwenzhou/p/8004649.html

1. JavaScript是什么?

一门轻量级的编程语言;运行在浏览器上的脚本语言。

node.js  可以写后端。

2. JavaScript都学哪些内容?

1. 语法基础

2. BOM(document object model文档对象模型)--> 用JS代码操作浏览器

3. DOM (browser object model浏览器对象模型)--> 用JS代码操作HTML文档

3. JavaScript的运行方式?

1. 导入方式:

1. 在HTML文件中写一个script标签,在script标签中直接写JS代码

2. 将JS代码写在一个单独的JS文件中,然后通过script标签的src属性导入

2. 可以直接在浏览器的console窗口直接运行JS代码

3. node.js 运行JS文件  *(现在了解即可)

4. JavaScript学什么?

0. 语法规则

1. 单行注释  //

2. 多行注释  /* 多行注释*/

3. 结束符 ;

1. 变量

1. 变量名:可以使用_,数字,字母,$组成,不能以数字开头

1. 变量名是区分大小写的。

2. 推荐使用驼峰式命名规则。

3. 保留字不能用做变量名。

2. 声明变量

1. var

2. let(ES6新增):所声明的变量只在let命令所在的代码块内有效。

例如:for循环的计数器就很适合使用let命令。

3. const(ES6新增):用来声明常量。一旦声明,其值就不能改变。

2. 数据类型

1. 字符串

字符串的常用属性和方法

# substring不支持负数,slice支持负数,一般用slice切片

Substring(0,-2) -> substring(-2,0)->substring(0,0)->’’

# shift + enter 换行

· ·(反引号)在ES6中不报错; 若·· ·报错,按上述设置成ES6 或在js文件开头加一行:

/* jshint esversion: 6 */

ES6中引入了模板字符串。模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

2. 数值

1. JS中不区分整型和浮点型,都叫数值类型

2. NaN表示一个值不是数值(是数值类型,但表示不是一个数字not a number;当字符串转成数字时,可能会出现NaN)

3. 将字符串类型的数据转换成数值

parseInt("100")

parseFloat("11.11")

3. 布尔值(""(空字符串)、0、null、undefined、NaN都是false)

true false

4. Null

手动将变量的值清空的时候name=null

5. Undefined

变量光声明但是没有赋值的时候; 函数无明确返回值时

6. Object(JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象)对象时带有属性和方法的特殊数据类型

1. 数组

TODO: sort()排序 (详情见明日课程)

2. 数组的内置属性和方法

# sort将数组中的元算转成字符串,然后一位一位的对比排序

Console.log() 相当于print()

判断一个变量的类型:

typeofnull      --> object

typeof [11,22]   --> Object

typeof undefined --> undefined

# typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。

3. 运算符

1. 算术运算符

% 取余

2. 逻辑运算符

3. 比较运算符

1. 弱等于 "5" == 5  --> true

2. 强等于 "5" === 5 --> false

4. 赋值运算符

4. 控制语句

1. if ... else ...

2. if ... else if ... else ...

3. switch () {

case 1:

...

break;

}

# switch主要用于一个变量一个值的比较情况下

#一定要加break,否则程序会继续执行后续case中的语句

4. for

5. while

6. 三元运算

5. 函数

1. 函数的定义

1. 普通函数

2. 带参数的函数

3. 带返回值的函数

# 如果return后跟多个值,返回最后一个

4. 匿名函数

5. 自执行函数(立刻执行函数)

6. 箭头函数

# 如果箭头函数不需要参数,或需要多个参数,用()代表参数部分

2. JS函数的坑

1. 默认的返回值是undefined

2. 调用函数时传参随意

3. 只能有一个返回值

3、 函数内置的arguments对象

4、练习题

原文地址:https://www.cnblogs.com/zhangyaqian/p/py20180530.html

时间: 2024-10-16 00:31:30

30 May 18 Javascript语法基础的相关文章

javascript语法基础-变量与函数

三 javascript语法基础-变量与函数 (一)变量的声明与运用 JavaScript中的变量与Java.C等强类型语言有很大区别,虽然在JavaScript中具有字符串.数字等数据类型. 变量申明语句的结构是var保留字加标识符,var和标识符之间用空格隔开. 赋值语句的结构是在变量和需要赋的值之间加上一个等号,例如a=1的含义是将变量a的值指定为1. 变量在定义的时候也可以同时赋值,如var a=1. PS:在变量使用前事先进行声明是个良好的编程习惯,这对将来学习Java等其他语言有帮助

Javascript语法基础

Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript中的数字不区分整型和浮点型,所有的数字都是以浮点型来表示的. 2.字符串 字符串型是JavaScript中用来表示文本的数据类型,是由Unicode字符.数字和标点符号组成的一个字符串序列.字符串通常都是用单引号或双引号括起来的.如果在字符串中包括着特殊字符,可以使用转义字符来代替.例如: “”  

JavaScript语法基础(1)

1.JavaScript是什么? 1)定义: JavaScript「JS」是一种高级的.动态的. 弱类型的.解释型的计算机编程脚本语言. 2)原理: 3)组成: 3大部分: ◆ ECMAScript: JS的语法核心 ◆ DOM: Document Object Model: 文档对象模型: 提供访问和操作网页的方法和接口 ◆ BOM: Browser Object Model: 浏览器对象模型: 提供与浏览器交互的方法和接口 4)总结: JS是一种专门为网页交互而设计的. 简单而又复杂的脚本程

javascript语法基础-控制语句

四 JavaScript 控制语句 (一)if-else if -else 语句是JavaScript中最基本的控制语句,通过它可以改变语句的执行顺序 . 表达式中必须使用关系表达式或逻辑表达式来实现判断,表达式的结果通常作为一个布尔值用来判断 . 在表达式的结果中零或非零的数分别转化成false和true . 花括号{}内的语句允许包括多行,如果只有一条语句允许不使用花括号{} . (二)switch基本格式 switch (表达式) { case 值1:语句1;break; case 值2:

JavaScript:基础语法

JavaScript:基础语法 注释 JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{...}.但是,JavaScript并不强制要求在每个语句的结尾加;浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;.JavaScript严格区分大小写,如果弄错了大小写,程序将报错或者运行不正常. 注释: // 这是一行注释 alert('love qinjiang'); // 这也是注释 /* 从这里开始是块注释 仍然是注释 仍然是注释 注释结束 */ 变

JavaScript之基础-1 JavaScript(概述、基础语法)

一.JavaScript 概述 JavaScript 概念 - JavaScript 是一种运行于 JavaScript解释器/引擎中的解释型脚本语言 - JavaScript 解释器作为JS脚本的运行环境,有如下两种呈现方式 - 独立安装的 JavaScript 解释器; - 嵌入在浏览器内核中的 JavaScript 解释器; - 目前 PC .平板.手机.机顶盒中安装的主要浏览器全部支持JavaScript JavaScript 发展史 - 1992年,Nombas公司为自己的CEnvi软

JavaScript RegExp 基础详谈

前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果我们不去真正仔细研究.学习.掌握,而是抱着需要的时候,就去网上找现成的正则表达式来使用,像这样恐怕永远都是很难对正则有一个详细且全面的了解. 所以通过查阅书籍.网上的资料以及通过自己的理解.组织.表达,写了这篇<JavaScript RegExp 基础详谈>,算是对自己学习过程的一次总结梳理吧. 如果有什么欠缺,遗漏或者不足的地方,多多麻烦大家的

javascript笔记基础总结篇

Created at 2016-09-24 Updated at 2016-10-02 CategoryFront-End TagJavascript 转载请声明出处博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课时 入门基础 知识点: 操作系统就是个应用程序 只要是应用程序都要占用物理内存 浏览器本身也是一个应用程序 浏览器本身只懂得解析 HTML 调用浏览器这个应用程序的一个功能绘制 1.javascript介绍 JavaScript 操作 

javaScript的基础(1)

JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆