python web开发学习笔记一:javascript基础 (2)

    也就是if () { ... } else if { ... } else{...}结构,最好是写上{},增加可读性,else后面的小括号可以不写条件;其中之一的条件被满足之后之后的不再进行判断。JavaScript把null、undefined、0、NaN和空字符串''视为false,其他值一概视为true。

   2.循环结构:

    JavaScript的循环有两种,一种是for循环,通过初始条件、结束条件和递增条件来循环执行语句块:这个地方和java的就是一模一样了;使用for...in循环可以遍历出数组的下标以及对象的键;一种是while循环只有一个条件,条件满足就可以一直循环;

   3.函数:

    函数式编程的重要性就不多说了,在js中函数也是十分重要的。函数的定义方式使用function关键字来进行定义,大概类似于:function abs(x) {...}这样的方式,函数体内部遇到return会立即停止,若没有return则继续进行下去。函数可以作为一个变量来进行相关的参数传递操作;第二种定义函数的方式如下:var abc = function(){...}右边的部分是一个匿名函数,类似于pyhton中的lambda函数,临时创建临时使用之后立刻放弃,这2种方式创建函数式等价的。同样的,参数传递进去也要讲究顺序性。关键字arguments,它只在函数内部起作用,利用arguments,你可以获得调用者传入的所有参数。也就是说,即使函数不定义任何参数,还是可以拿到参数的值。它类似于一个参数列表。arguments[id]来对参数进行访问。

   4.变量作用域:

    用var申明的变量实际上是有作用域的,如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量。变量的作用范围值得我们去深究,通常我们需要好几个全局变量,甚至拿到其他的js文件中去使用。优先级依然是由内到外,内部嵌套函数的变量永远优先执行。在写法上,可以使用一个var将多个变量赋值换行。使用let关键字可以申明一个更小的块级作用变量,用在判断选择结构内部,const则是常量的意思。

   5.可能会很实用的内置函数:

    map()、filter()、sort(),对应数组调用map函数可以将内部元素依次的用map传入的函数来进行操作,并返回新的处理后的数组。filter过滤函数,用法类似于map,但是是保留符合要求的元素删除不要的元素。排序函数就不多说了。

   6.js的面向对象:

    class关键字创建类,然后调用new构造对象,class+大驼峰命名,类似class Student(name) {...},同样的,var xiaoming = new Student('小明');可以构造类的实例化,这和其他语言是相同的----继承类的属性以及方法,类似于在python类中的self写法,这里也是要求使用this关键字,诸如this.name=**,this.age=**等等;

   7.浏览器对象:

    JavaScript可以获取浏览器提供的很多对象,并进行操作。window对象表示浏览器窗口,包括innerWidth以及innerHeight属性,对应的是浏览器的内部宽度以及高度,内部宽高是指除去菜单栏,工具栏,边框等之后的网页净宽高。还有outerWidth以及outerHeight对应的是外部宽高。同样的location对象显示的是当前页面的URL信息。最重要的还有document对象,html在浏览器中表现为DOM的树形结构,document是整个树形结构的根节点,用document对象提供的getElementById()以及getElementsByTagName()可以按id以及tag名字查找一组节点。

    顺便认识一下cookie,是指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端的数据。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。cookie由服务器端生成,是一系列的键值对,当一个用户登陆成功之后,服务器会发送一个cookie给浏览器存储进文件目录,当浏览器访问该网站时,就会在http协议下的请求头上附上该cookie。服务器可以根据cookie区分用户。

  5.js高阶:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfppg.html