zoukankan      html  css  js  c++  java
  • 小菜的前端编程散谈(4)

    小菜的前端编程散谈(4)

    接上篇做一些补充吧,之前讲到过编程中的类型和函数,比如声明一个变量必须指定类型,或者说声明一个函数必须指定参数类型和返回类型。其实在动态编程语言中,并不是这样的。动态编程语言比较灵活和自由,我可以列举以下几个特征:

    1. 声明变量不需要指定类型,比如 var count = 0; var只是一个变量声明的关键字而不是一个类型标识,其实声明之后,count的类型是通过值进行推断出来的
    2. 变量可以重新赋值,比如 上面已经声明了变量count并且赋值为0,编译器推断它为数值类型。然后我在程序后面可以重新使用诸如 count = "hello world";这样的代码,就是说count的值已经动态变成了一串字符串了,而且类型也变成了字符串类型了。所以js里面var是什么含义呢?它完全不是类型标识,它就是一个代号一个关键字,这是一个变量,它可以表示任何东西。这一点需要和传统的静态编程语言区分开来
    3. 函数不必指定参数类型,也不必指定返回值类型。比如 function getCount(list){ ... },如果按照静态编程语言,这里应该是 function int getCount(array list){ ... },但这里却不是,动态编程语言(比如js)的函数是不需要在定义的适合指定参数类型和返回类型的。这一点需要注意,有时候这样类型的灵活会带来一些不好的地方,为什么呢?可以思考一下

    我在这里说明这些,其实是想说明,我拿静态编程语言举例子,只是为了方便理解而已,具体在编程中,还是要参照具体的编程语言环境和语法进行编码

    控制流程

    这里我就不具体阐述程序控制流程的那些说明了,我把它们列出来,自己在代码里面敲一遍理解一下。如果你确定你已经充分了解他们的用法和使用场景,那么直接跳过就行了

    1. if 分支
    2. if ... else if 分支
    3. if ... else 分支
    4. switch 分支
    5. while 循环
    6. do ... while 循环
    7. for(i=0;i<10;i++) { ... } 循环
    8. for(var item in list) { ... } 循环
    9. 循环中的continue 循环继续
    10. 循环中的break 循环中断
    11. 函数中的return 函数返回

    插一下关于逻辑操作符合运算符的知识:

    1. && 并且
    2. || 或者
    3. = 赋值运算符
    4. 或者=,相等运算符
      再讲一个小例子,了解一下运算符的优先级:
      比如,if(a){ b = a} ,可以表示为 a && (b=a) ,为什么呢?试想一下,假设有一个布尔类型是这样表示的: bool positiveEven = (a>0 && a%20),表示正的偶数,a大于0并且a可以被2整除(余数为0),它们的判断顺序是怎么样的呢?先判断a>0这个逻辑,如果a>0的逻辑成立再判断后面a%20的这个逻辑。想想看,这里面的优先级判断,是不是有一个条件判断的意味在里面?因为如果a<0的话,后面那一句肯定就不用再判断了,直接就返回false了。嗯,想想一下||(或)这个逻辑操作符,其实它这个是反过来的逻辑,想一下!

    补充几道题目吧,有空做一下:
    1)在网页上显示一个时钟和日期,要求实时更新,显示时分秒就可以了。
    2)用javascript打印100以内的斐波那契数列
    3) 给定一个数组[3,7,5,8,2,1,10,9,4],写一个函数,对这个数组进行排序
    尽量试着做一下吧,最好是能够做出来。了解一下自己哪方面的不足,记下来,写出来

    后记

    后面我准备讲一下函数传值问题,然后讲一下引用类型和值类型,再往后开始讲讲基本的算法和数据结构了。OK,先就这样

  • 相关阅读:
    luogu4182 [USACO18JAN] Lifeguards P (单调队列优化dp)
    bzoj3277 串 (后缀数组+二分答案+ST表)
    [模板]后缀数组
    bzoj4361 isn (dp+树状数组+容斥)
    luogu4187 [USACO18JAN]Stamp Painting (dp)
    [USACO15DEC]高低卡(白金)High Card Low Card (Platinum)
    USACO环绕岛屿Surround the Islands 并查集 枚举暴力
    5.7 ~ 5.12 刷题列表
    5.4 ~ 5.6 刷题记录
    HNOI2012 永无乡 无旋Treap
  • 原文地址:https://www.cnblogs.com/fecktty2013/p/4815013.html
Copyright © 2011-2022 走看看