JS基础数据类型

Posted yangli0504

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础数据类型相关的知识,希望对你有一定的参考价值。

# 图片太多,详细见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)

 

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

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

 

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

如果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. BOMdocument 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. letES6新增):所声明的变量只在let命令所在的代码块内有效。

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

 

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

 

 

   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. 布尔值(""(空字符串)0nullundefinedNaN都是false)

          true false

 

 

       4. Null

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

       5. Undefined

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

       6. ObjectJavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,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、练习题

以上是关于JS基础数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JS基础类型转换——不同数据类型比较

js基础之基本数据类型

js数据类型之基础数据类型

js基础(数据类型)

JS数据类型-基础知识

JS基础_基本数据类型和引用数据类型