当前位置: 首页 > news >正文

Js基础知识学习

主要学习内容:

  1. ECMAScript 基础
  2. js对象基础
  3. 继承

ECMAScript 基础

语法:

  • 区分大小写
  • 变量弱类型
  • 每行结尾;可有可无
  • 注释和java和PHP相同

ECMAScript五种原始类型

  1. Undefined 变量未初始化时,该变量的默认值为Undefined;

  2. Null Undefined是从Null中派生出来的; null == undefined //true

  3. Boolean 只要是对象,Boolean返回的就是true。0和null值默认为false

  4. Number toString()方法可分为默认模式和基模式; 如:toString(16);

  5. String 使用 typeof var 可得var的变量类型 强制类型转换:在解决null这个特殊值时,比较有趣。 var s1 = String(null); //"null" var oNull = null; var s2 = oNull.toString(); //won't work,causes an error

运算符

js中的浮点数乘法运算都是先扩大为整数再运算,而后除以相应的倍数,故在乘法的结果中也会出现无限循环小数。保险做法为先将运算数扩大百倍再将结果缩小百倍。

Function类

无重载(利用arguments可实现重载机制,arguments为参数可变数组) 函数也可作为参数传递

js对象基础

对象的废除

  1. 当再没有对对象的引用时,该对象被废除。
  2. 当强制将对象的引用设为null值时,可以强制性废除对象。

对象类型

  • 本地对象(独立于宿主环境的ECMAScript实现提供的对象)

  • Array: join()实现链接数组元素 push() :数组尾部增加一个元素,可传递多个元素,但总是习惯与传递一个参数且使用多次。 pop():数组尾部删除一个元素。 shift():删除数组中的第一个位置元素。 unshift:增加一个元素到第一个位置。

  • Date:存在Date类,且有多种表现格式。

  • 内置对象(由ECMAScript实现提供的,独立于宿主环境的所有对象,在ECMAScript程序开始执行时开始出现;每个内置对象都是本地对象;)

    • Global:根本不存在。
  • 默认的方法为global对象的方法,如isNaN(); encodeURI() encodeURIComponent():想较于encodeURI,将特殊字符全部转化。 decodeURI() decodeURIComponent():输出上面两种URI编码。 escape() unescape():尽量避免使用,只能对ASCII正确编码。不能对Unicode全部编码。 eval():解释js的程序,慎重使用,很可能代码注入。

  • Math:提供各种处理函数。

  • 宿主对象

  • 定义类或者函数: 工厂方式:每次创建一个对象,直接返回对象。 构造函数方式:使用this。 原型方式: 混合的构造函数/原型方式:构造变量,原型初始化函数。

  • 修改对象: Object.prototype.function(); Object.prototype.var;

  • 继承

  • 对象冒充 call(this,var a1,var a2); apply(this,new Array("",""));

转载自: 简书 - 低至一折起

文章:www.jianshu.com/p/1cdd28abc…

相关文章:

  • 对PostgreSQL源代码中的is_pushed_down的理解
  • Readings in Databases
  • 使用python处理selenium中的鼠标悬停问题
  • nginx 防火墙、权限问题
  • Swift 2 0 所有新特性
  • Xcode真机调试出现The account '***' has no team with ID '***'的解决方案
  • 关于Autolayout制作动画的坑
  • iOS解析HTMl标签以及开发中的一些坑
  • iOS10判断摄像机是否可用
  • Android类似微信图片选择器
  • 使用MaxCompute搭建社交好友推荐系统
  • C 标准库 - stdio.h
  • [LeetCode] Verify Preorder Sequence in Binary Search Tree 验证二叉搜索树的先序序列
  • linux学习笔记四
  • 如何优雅地为Struts2的action加监控日志
  • Angular 响应式表单 基础例子
  • CentOS 7 防火墙操作
  • Docker 笔记(2):Dockerfile
  • JavaScript实现分页效果
  • js对象的深浅拷贝
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Python十分钟制作属于你自己的个性logo
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • swift基础之_对象 实例方法 对象方法。
  • 多线程 start 和 run 方法到底有什么区别?
  • 解决iview多表头动态更改列元素发生的错误
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 前端js -- this指向总结。
  • 前端相关框架总和
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用Gradle第一次构建Java程序
  • 微信小程序开发问题汇总
  • 我与Jetbrains的这些年
  • 优秀架构师必须掌握的架构思维
  • 自制字幕遮挡器
  • No resource identifier found for attribute,RxJava之zip操作符
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​Java并发新构件之Exchanger
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (理论篇)httpmoudle和httphandler一览
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • **CI中自动类加载的用法总结
  • .NET Core中的去虚
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 使用反射注册事件