• 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、练习题

  • 相关阅读:
    安装TeX字体
    【数学】对数的底为什么不能为负数
    算法设计的要求
    Windows HTTP Services
    为什么分母不能为0
    循环小数怎样变分数
    在win7环境下批量修改文件权限
    算法复杂度的极限证明
    深入理解 【有理数】、【无理数】、【虚数】
    kettle连接sqlserver
  • 原文地址:https://www.cnblogs.com/yangli0504/p/9112744.html
Copyright © 2020-2023  润新知