JS基础

作者: 言大大freedom | 来源:发表于2016-12-17 10:45 被阅读0次

defer(延迟脚本)和async(异步脚本)区别:当把script的标签放在头部时,都是延迟加载,立即执行。但是async不保证按顺序加载。使用async是不让页面等待脚本的加载和执行,从而异步加载页面的其他内容。

xhtml,可扩展超文本标记语言,是将html基于XML的应用而重新定义的一个标准。严格版的html。

数据类型

js中变量类型分为两大类。基本数据类型和引用类型。基本数据类型指值直接保存在变量本地的类型。引用类型变量中实际保存的是实际数据所在的地址值。

js中有5种简单数据类型(基本数据类型):Sting Boolean Undefined Null Number,1种复杂类型Object类型。
使用typeof操作符检测变量的基本类型,返回undefined number string boolean object function。对未声明的变量执行typeof也会返回undefined
使用instanceof检测引用类型的值。

Boolean

调用Boolean()时,0 NAN null undefined 空字符串都会转换成false

Number

把非数值转换为数字的函数:Number() parseInt() parseFloat()

Number(x) VS parseInt(str)
Number(x)只认识纯数字组成的字符串,可转bool类型,可将空字符串转换为0
parseInt(str)认识包含非数字字符的字符串开头位置的数字,parseInt转不了bool,将空字符串转换为NaN

String

Sting() VS toString()
toString()对null和undefined这两个值无效,String()是万能的,转换规则,先查看值是否有toString()的方法,有就调用该方法,并返回相应结果。如果值是null就返回null,如果值是undefined就返回undefined

Object
对象就是一组数据和功能的集合。
valueOf():返回对象的字符串,数组,布尔值表示。通常与toString()方法的返回值相同

操作符

一元操作符(只能操作一个值的叫做一元操作符。)

1.递增递减操作符
++a VS a++

      ++a/--a是执行前置递增递减操作时,变量的值时在语句被求值以前改变的。
      var age = 18
      var  newAge = ++age + 2
      alert (age) //19
      alert (newAge) //21

      a++/a--变量的值是在语句求值之后改变的。
      var num1 = 2
      var num2 = 10
      var num3 = num1-- + num2  //12
      var num4 = num1-- + num2  //11

2.加减操作符
与数学书上讲的完全一样,➕放在数值前面,对数值不会有任何影响。一元减操作符主要用于表示负数。

      var num = 10
      num = -num  //-10

位操作符

按位非/按位与/按位或/按位异或
  • 按位非(~)本质操作数的负值减1
    var num1 = 25
    var num2 = ~num1 //-26

  • 按位与(&) 都是1结果才是1 ,任何一个为0结果都是0
    var num1 = 25 & 3
    alert(num1) //1

  • 按位或(|)其中任何一位是1就是1,两个位都是0的情况下才返回0
    var num1 = 25 | 3
    alert(num1) //27

  • 按位异或(^)其中一个是1才返回1,两位都是1或者0则返回0
    var num1 = 25 ^ 3
    alert(num1) //26

布尔操作符

逻辑与(&&)/逻辑或(||)/逻辑非(!)

      短路逻辑:第一个值可以决定结果,就不会对第二个数求值了。

关系操作符

    > <=  >=  < > 

相等操作符

    ==(强制转型)  ===(类型值必须相等)
    null == undefined //true
    null === undefined //false

条件操作符

    三目运算  var a = (num1 > num2) ? num1 : num2

赋值操作符

    += -=  *=  /=  %=

语句

if else
do while(至少执行一次)/while/for/for in(遍历枚举对象的属性)
continue(跳出本轮循环,继续下一轮)/break(彻底打破循环跳出)
switch case default(当case表达式里都不匹配时,自动执行default,相当于else)

函数

封装了一段任务的步骤清单的代码段,再起一个任务名。函数是一个引用类型的对象。
不支持重载,但是可以模拟重载。函数return返回后后续代码不会执行。函数中传入的参数arguments是类数组对象,可以访问arguments.length

相关文章

  • React-Native 随笔

    学习基础: js的基础知识, rect.js基础 JSX语法基础 FlexBox布局 安装 安装node.js下载...

  • 最新web前端相关课程学习链接

    js基础篇 js进阶篇 js高级篇 vue基础篇 vue高级篇 react基础 react高级 Nodejs基础 ...

  • web前端 -- Day23 js高级

    js基础 JavaScript简称:JS JS分三个部分: ECMAScript标准---基础的语法 DOM D...

  • 前端JavaScript面试技巧

    1-1 课程概述 要做什么?——讲解前端 JS 基础面试题 哪些部分?——JS 基础,JS-WEB-API,JS ...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • 2018-12-20

    1.01.尚硅谷_JS基础_JS简介(1) 10.10.尚硅谷_JS基础_Null和Undefined(10) 1...

  • JS基础和WebAPIs的关联性

    学习ECMAscript标准规定的基本语法掌握JS基础语法只学习JS基础做不了网页交互效果学习JS基础语法是为了后...

  • 2019-07-27 前端面试题

    1.js的基础类型 js的基础类型包括 Undefined , Null , String ,Number ,...

  • 网络编程(十九) JavaScript(9)

    一、 JS的组成 1.1 JS基础阶段以及Web APIs阶段 【1】JS基础阶段 我们学习的生死ECMAScri...

  • 发现•分享—2019-01-17

    文章 JS JS 异步编程六种方案 JS基础—原型对象的那些事(一) JS基础—原型对象的那些事(二) CSS 综...

网友评论

      本文标题:JS基础

      本文链接:https://www.haomeiwen.com/subject/sbknmttx.html