zoukankan      html  css  js  c++  java
  • js

    学习js MDN为标准

    浏览器端js:

    ECMAScript基础语法   数据类型 运算符 函数。。。。 ES1~ES8

    BOM    window location history navigator   正则表达式 Date

    DOM    div p span

    数据类型

    基本数据类型(值类型): Number String Boolean null  undefined

    复杂数据类型(引用类型):Array Function Object 

    undefiend    声明而未初始化    值为undefined   对象中不存在的属性值

    null 空对象

    对象是键值对集合:对象是由属性和方法组成的。

    属性的操作:

    student.name

    student['name']

    var str='name';

    student[str];

    .语法的局限性:

    1 不能使用js中关键字 保留字

    2 不能使用数字

    student[this]   不能 student.this

    student[3]    不能使用student.3

    删除属性 delete student.age

    delete关键字,只能删除对象中的属性,不能删除变量

    构造函数:

    如果函数没有返回值,就是没有return,或者返回值是一个基本数据类型,则返回值就是这个这个函数的实例,

    如果返回的是一个复杂数据类型,就是引用数据类型,则返回值就不会该函数的实例了,就是返回的那个负责数据类型;

    如何判断一个数据是不是复杂数据类型:

    1排除法 不是数字 字符串 布尔 null undefined

    new Object()    等同于对象字面量

    构造函数返回值:

    String 是一个内置函数:

    直接调用:String()   返回值是一个字符串

    通过构造函数调用:

    new String()   返回值是是个实例

    //一个函数通过new调用,或者不通过new调用,很多时候会有截然不同的返回值;

    判断一个对象是否是一个函数的实例?

    xxx instanceof Person

    返回值是true就是,false就不是

    typeof 只能判断基本数据类型 数字 字符串 布尔值 null undefined 函数

    判断数据的构造函数只能使用instanceof

    判断数据类型可以使用:obj.constructor==Object

    Object.prototype.toString.call(obj)

    语言:

    js有继承;

    概念:

    让一个对象可以访问到另一个对象中的属性和方法,我们把这种方式称之为继承;

    function Person(){

    this.say=function(){}

    }

    var p1=new Person();

    var p2=new Person()'

    p1.say==p2.say//false

    造成内存浪费,解决办法把方法写在他们共同的父对象中,其实他们共同的父对象就可以通过Person.prototype来获取

    Person.hello=function(){}

    p1.hello==p2.hello //true

    p1.hello==Person.prototype.hello//true

    结论:

    只要某个构造函数的prototype对象中添加某个属性 方法,那么这样的属性,方法都可以被所有的构造函数的实例共享

    构造函数的prototype对象称之为原型对象,只构造函数的实例的原型对象;

    Person的原型对象是:(Person的构造函数是Function,所以Person的原型对象是 Function.prototype)

    判断一个实例的构造函数:

    第一步;这个实例的构造函数是什么

    第二步:他的构造函数的prototype就是这个实例的原型对象

    js是面向对象的

  • 相关阅读:
    JAVA 练习1
    JSP基础
    网络协议
    mysql基础
    python之高级
    powershell基础
    python之迭代器与遍历
    python之面向对象
    linux常用命令
    docker 安装 ElasticSearch:7.4.2
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13340966.html
Copyright © 2011-2022 走看看