洁珊个人博客网站

不管多苦多累,只要生命不息,我便一直在。

js基础笔记

js组成

ECMAScript --js核心 标准,基本语法

BOM--浏览器对象模型

DOM--文档对象模型

js是一门脚本语言(不需编译)、解释性语言(直接解析)、动态类型语言、基于对象语言

常见脚本语言: t-sql cmd

js 可以用来控制网页内容,给网页增强动态效果

变量

  用来操作数据(存储,读取)

js区分大小写,字符串可用双//单引号

变量名一般以字母、$、_ 开头,多个单词--》驼峰命名

js数据类型

   原始数据类型:number(整数与小数),string(引号),boolean,null,undefined,object

NAN-----not a number

获取数据类型  typeof 变量名  typeof (变量名)

Inifity 无穷大

isNaN(num)

js字符串转义符  隐式转换

js类型转换

  parseInt()转整数

parseFloat() 转小数

Number() 严格转数字

.toString() 转字符串类型

String() 无意义使用

Boolean()  其它类型转布尔类型

运算符

  算数运算符  + - * /  %

     一元 :++ --

      二元:两个操作数

       三元  : 三个   表达式1 ? 2 : 3

       复合运算符 : +=  *= 等

  关系运算符: >  <  >=  <=  ==(不严格)     ===     !=      !==  接过boolean

  逻辑运算符  &&(逻辑与-- 并且)  ||(逻辑或---或者)  !(取反----取非)

  赋值运算符 =     +=     -=   *=      /=     %=

优先级

  一元  算数 关系 相等 逻辑 赋值

字面量   一个值直接赋值变量

流程控制

    顺序结构 从上到下 从左到右

   分支结构 if语句    if-else语句   i f- else if -  else  -----else  switch-case(case里10为严格模式)

     if(表达式){

      代码块

      }(范围判断)

    switch() {

   case 值1:代码1;break;

           default: 代码5;

    }(值判断)

   循环结构

     while 计数器  先判断,再循环

      do-while  先循环,后判断,至少循环一次

      for(; ;)知道循环次数

  闰年 能被4整除但不能被100整除,或能被400整除

关键字使用: break(跳出当前所在循环).continue(开始下次循环);

数组

  一组1有序数据 可以一次性存储多个数据

      通过构造函数创建数组

    var 数组名 = new Array

    通过字面量的方式创建数组 

   var 数组名= [];

   冒泡排序-----从小到大  从大到小

    控制轮数   控制次数arr.length-1-i;

函数

  函数参数   用户传进来的值操作

       实参(调用时),形参(定义函数时)

       实参个数可以跟形参不同。没有明确返回值undefined

    函数返回值

    get  set  

     作用域

   全局变量(不关闭,不释放) 局部变量

    js没有块级元素,但函数里有(局部)

  全局变量不能被删除,隐式可以(声明变量没有var)

 作用域链

预解析  提前解析  变量声明提先了 函数也会被提前解析(不大懂)

     arguments对象可获取传入的每个参数的值

     命名函数 匿名函数

     函数表达式  var f1= function () {}    f1()

     函数也是一种函数类型

   函数作为参数使用

    函数作为返回值使用

面向过程:注重过程

面向对象: 注重结果  特性: 封装,继承,多态,js不是面向对象语言,但模仿思想(基于面向对象)

创建对象三种方式:

调用系统构造函数 var obj= new Object(); obj.name="cccc";

自定义构造函数(结合第一种通过工厂模式创建对象) 用函数

自定义构造函数(堆栈内存)

  首字母大写

字面量方式创建对象

     

var obj=();
onj.name="";
obj.age=10;


优化写法
var obj={
  name:"";
  age:120;
}

  属性另外一种写法 object["name"]= "xxx"

对象不能区分到底属于什么类型 ?instanceof 

JSON 格式的数据及遍历

  json也是对象,数据成对,用双引号括起来  var key = "name"  json[key];

   for(var key i json) {} key是一个变量,存储属性名字

原始数据类型: number, string boolean, undefined, null,object

基本类型(简单类型),值类型:number,string,boolean

复杂类型(引用类型)object

空类型:undefined,null

值类型在 栈中存储    传递的是值

引用类型在栈和堆中存储   传递的是地址

js中三种对象:

   内置对象  js自带的对象

  Math

Date  getFullYear getMouth getDate 

String (稍微注意下) Length charAt String.fromCharCode   .concat  .indexOf  .lastIndexOf   .replace .slice(从索引几到索引几,不包含结束索引)    split("|", "4") (分割后留下4个)  .substr(开始,个数) .sunstring(开始索引,结束索引)  .toLocaleLowerCse(小写) .toLowerCase() toLocalUpperCase  .trim()(去掉两边空格)

Array  instanceOf isArray concat every(a,b,c); (元素值,索引值,调用方法者) filter()(返回符合条件的值) push() 把值追加到数组中 pop'();删除数组中最后 ,返回该删除的zhi  shif() 删除第一个 unshif()第一个1后插入 foreach() ----遍历数组  .join("|") 添加字符串

.map()  .reverse()---反转  .sort()---排序 splice(1,0,"cc")  在索引1插入cc

Object

     实例对象  静态对象

   自定义对象 自定义构造函数创建的对象

   浏览器对象 

基本包装类型----普通变量调取了属性和方法,变成了对象,对象&&true   为true   true&&对象,结果为对象

   

posted on 2019-01-12 12:16  洁珊  阅读(270)  评论(0编辑  收藏  举报

洁珊个人博客网站

不管多苦多累,只要生命不息,我便一直在。