zoukankan      html  css  js  c++  java
  • JavaScript1

    变量

    js变量的命名规范
    1.变量名只能是
    数字 字母 下划线 $
    2.变量名命名规范(不遵循也可以)
    1.js中推荐使用驼峰式命名
    userName
    dataOfDb
    2.python推荐使用下划线的方式
    user_name
    data_of_db
    3.不能用关键字作为变量名
    (按照规定使用变量名即可,不需要记忆)
    在js中 首次定义一个变量名时需要用到关键字声明
                1 var
                 var name='jake'
                 2 es6的新语法
                let name ='jake'
                
                 # var与let的区别
    n = 10
    for n in range(5):
      print(n)
    print(n
    # var 5 let 10

    """
    var在for循环里面定义也会影响到全局
    let在局部定义只会在局部生效
    """

    数值类型(number)

    var a = 11;
    var b = 11.11;
    // 如何查看当前数据的类型
    typeop a;

    var a = 11;
    var b = 11.11;
    typeof a;
    typeof b;
    "number"

    // 特殊的 NaN:数值类型 表示的意思是“不是一个数字” NOT A NUMBER
       
    // 类型转换
    parseInt()
    parseFloat()

    parseInt('12312312')
    12312312
    parseFloat('11.11')
    11.11
    parseInt('11.11')
    11
    parseInt('123sdasdajs2312dasd')
    123
    parseInt('asdasdad123sdasdajs2312dasd')
    NaN

    字符类型(string)

    字符串类型
    var s = 'jason'
    undefined
    typeof s
    "string"
    var s1 = "jason"
    undefined
    typeof s1;
    "string"
    var s2 = '''egon'''  // 不支持三引号
    VM665:1 Uncaught SyntaxError: Unexpected string


    // 模版字符串
    var s3 = `
    asdkajsd
    sdjkladj
    asdjlajdkl
    `
    typeof s3
    "string"
    // 模版字符串除了可以定义多行文本之外还可以实现格式化字符串操作
    // 书写${} 会自动去前面找大括号里面的变量名对应的值 如果没有定义直接报错

    var name = 'jason'

    var age = 18

    var sss = `
       my name is ${name} and my age is ${age}
    `
    sss
    "
       my name is jason and my age is 18


    // 字符串的拼接
    // 在python中不推荐你使用+做拼接 join
    // 在js中推荐你直接使用+做拼接
    name + age

    字符串类型的常用方法

    """
    .length返回长度
    .trim()移除空白
    .trimLeft()移除左边的空白
    .trimRight()移除右边的空白
    .charAt(n)返回第n个字符
    .concat(value, ...)拼接
    联想记忆
    MySQL
    concat
    concat_ws
    group_concat
    python
    join
    .indexOf(substring, start)子序列位置
    .substring(from, to)根据索引获取子序列
    .slice(start, end)切片
    .toLowerCase()小写
    .toUpperCase()大写
    .split(delimiter, limit)分割
    """
    具体方法
    name.length
    7

    var name1 = ' egonDSB '
    undefined

    name1
    " egonDSB "

    name1.trim()
    "egonDSB"

    name1.trimLeft()
    "egonDSB "

    name1.trimRight()
    " egonDSB"

    name2.charAt(0)
    "$"

    name2.indexOf('as')
    3

    name2.substring(0,5)
    "$$jas"
    name2.slice(0,5)
    "$$jas"
    name2.substring(0,-1# 不识别负数
    ""
    name2.slice(0,-1# 后面推荐就使用slice就可以
    "$$jason$"

    var name3 = 'eGoNDsb123666HahA'

    name3.toLowerCase()
    "egondsb123666haha"

    name3.toUpperCase()
    "EGONDSB123666HAHA"

    var name = 'tank|hecha|liaomei|mengsao|...'

    name.split('|')
    (5) ["tank", "hecha", "liaomei", "mengsao", "..."]

    name.split('|',2)
    (2) ["tank", "hecha"]0: "tank"1: "hecha"length: 2__proto__: Array(0)

    name.split('|',10# 第二个参数不是限制切割字符的个数还是获取切割之后元素的个数
    (5) ["tank", "hecha", "liaomei", "mengsao", "..."]

    name.concat(name1,name2)
    "tank|hecha|liaomei|mengsao|... egonDSB $$jason$$"
    var p = 1111
    undefined
    name.concat(p# js是弱类型(内部会自动转换成相同的数据类型做操作)
    "tank|hecha|liaomei|mengsao|...1111"


    l = [1,2,3,4,5,6,7]
    res = '|'.join(l# 直接报错
    print(res)

    js的布尔值(boolean)

    """
    1.在python中布尔值是首字母大写的
    True
    False
    2.但是在js中布尔值是全小写的
    true
    false
    # 布尔值是false的有哪些
    空字符串、0、null、undefined、NaN
    """

    null与undefined

    null
    表示值为空 一般都是指定或者清空一个变量的时候使用
    name = 'jake'
       name = null
    undefined
    表示声明了一个变量 但是没有做初始化操作(没有给值)
    函数没有指定返回值的时候 返回的也是undefined   

    js的对象

    一切皆对象
    • 数值(类似python的列表)

    var l = [11,22,33,44,55]

    typyof 1
    'object'
    var l1 =[11,'sdasd',11.11,true]

    l1[1]
    "sdasd"
    l1[-1# 不支持负数索引

    数值的方法
    var l = [111,222,333,444,555,666]
    undefined
    l.length
    6
    l.push(777)
    7
    l
    (7) [111, 222, 333, 444, 555, 666, 777]
    l.pop()
    777
    l
    (6) [111, 222, 333, 444, 555, 666]
    l.unshift(123)
    7
    l
    (7) [123, 111, 222, 333, 444, 555, 666]
    l.shift()
    123
    l.slice(0,3)
    (3) [111, 222, 333]
    l.reverse()
    (6) [666, 555, 444, 333, 222, 111]
    l.join('$'# 跟python刚好相反
    "666$555$444$333$222$111"

    l.concat([111,222,333])  # extend
    (9) [666, 555, 444, 333, 222, 111, 111, 222, 333]
    l.sort()
    (6) [111, 222, 333, 444, 555, 666]
    数组的三个重要方法
    var ll = [111,222,333,444,555,666]
    ll.forEach(function(value){console.log(value)},ll)
    VM2277:1 111  # 一个参数就是数组里面每一个元素对象
    VM2277:1 222
    VM2277:1 333
    VM2277:1 444
    VM2277:1 555
    VM2277:1 666

    ll.forEach(function(value,index){console.log(value,index)},ll)
    VM2346:1 111 0  # 两个参数就是元素 + 元素索引
    VM2346:1 222 1
    VM2346:1 333 2
    VM2346:1 444 3
    VM2346:1 555 4
    VM2346:1 666 5
    undefined
    ll.forEach(function(value,index,arr){console.log(value,index,arr)},ll# 元素 + 元素索引 + 元素的数据来源
    VM2430:1 111 0 (6) [111, 222, 333, 444, 555, 666]
    VM2430:1 222 1 (6) [111, 222, 333, 444, 555, 666]
    VM2430:1 333 2 (6) [111, 222, 333, 444, 555, 666]
    VM2430:1 444 3 (6) [111, 222, 333, 444, 555, 666]
    VM2430:1 555 4 (6) [111, 222, 333, 444, 555, 666]
    VM2430:1 666 5 (6) [111, 222, 333, 444, 555, 666]
    undefined

    ll.forEach(function(value,index,arr,xxx){console.log(value,index,arr,xxx)},ll# 最多三个
    VM2532:1 111 0 (6) [111, 222, 333, 444, 555, 666] undefined
    VM2532:1 222 1 (6) [111, 222, 333, 444, 555, 666] undefined
    VM2532:1 333 2 (6) [111, 222, 333, 444, 555, 666] undefined
    VM2532:1 444 3 (6) [111, 222, 333, 444, 555, 666] undefined
    VM2532:1 555 4 (6) [111, 222, 333, 444, 555, 666] undefined
    VM2532:1 666 5 (6) [111, 222, 333, 444, 555, 666] undefined
     
     

    ll
    (6) [111, 222, 333, 444, 555, 666]
    ll.splice(0,3# 两个参数 第一个是起始位置 第二个是删除的个数
    (3) [111, 222, 333]
    ll
    (3) [444, 555, 666]
    ll.splice(0,1,777# 先删除后添加
    [444]
    ll
    (3) [777, 555, 666]
    ll.splice(0,1,[111,222,333,444])
    [777]
    ll
    (3) [Array(4), 555, 666]



    var l1 = [11,22,33,44,55,66]
    undefined
    l1.map(function(value){console.log(value)},l1)
    VM3115:1 11
    VM3115:1 22
    VM3115:1 33
    VM3115:1 44
    VM3115:1 55
    VM3115:1 66
    l1.map(function(value,index){return value*2},l1)
    (6) [22, 44, 66, 88, 110, 132]
    l1.map(function(value,index,arr){return value*2},l1)
    (6) [22, 44, 66, 88, 110, 132]


  • 相关阅读:
    .NET Core WEB API使用Swagger生成在线接口文档
    .NET Core WEB API中接口参数的模型绑定的理解
    .Net Core使用视图组件(ViewComponent)封装表单文本框控件
    在有主分支和个人分支情况下的TFS使用方法
    SQL Server Profiler (SQl跟踪器)的简单使用
    C# 多线程下的单例模式
    C# 单例模式
    .net core MVC接受来自自前端的GET和POST请求方法的区别
    《Windows Phone 8 Development Internals》读书笔记-1-2-2-连载
    《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载
  • 原文地址:https://www.cnblogs.com/bailongcaptain/p/12907185.html
Copyright © 2011-2022 走看看