0

0

《JavaScript高级程序设计》第一讲 -- 基本概念

巴扎黑

巴扎黑

发布时间:2017-06-23 13:55:46

|

1427人浏览过

|

来源于php中文网

原创

之前看过好几遍《JavaScript高级程序设计》这一书,但是始终没有完完整整的看过一遍。从现在开始我会把它完整的啃一遍,每章节都记录笔记,自己的心得,加油!由于前三章的内容比较简单,因此我会把它们放到一个章节里面记录学习历程。

一、基本概念

1、JavaScrip与ECMAScript的关系

可以理解为JavaScript除了包含ECMAScript外,还包括DOM(文档对象模型),BOM( 浏览器对象模型)

2、

立即学习Java免费学习笔记(深入)”;

  • 属性: async   defer   charset   type   src 

defer与async的区别:(只适用于外部脚本文件)

没有async或defer,

有async,加载和渲染后续文档元素的过程将和js的加载与执行并行进行(异步);

有defer,加载后续文档元素的过程将和js的加载并行进行(异步),但是js的执行要在所有的元素解析完成之后,DOMContentLoaded事件触发之前完成

蓝色线代表网络读取,红色线代表执行时间,这俩都是针对脚本的;绿色线代表 HTML 解析。

详细解析可点击  

  • 标签位置:可放在

    或者元素中内容的后面
  • 文档模式:(可分为混杂模式和标准模式)

IE中浏览器模式与文档模式区别:

浏览器模式:影响的是浏览器版本以及IE的条件注释

文档模式:影响的是IE的排版引擎,DOM的渲染

详细解析可点击  

3、数据类型

  5种简单的数据类型:String、Number、Boolean、Null、Undefined   1种复杂数据类型:Object

  typeof操作符检测变量的数据类型,返回字符串  注意:typeof null 返回 'object',null被认为是一个空的对象引用

  变量未初始化、未声明时typeof都返回undefined

  -----  Boolean类型

数据类型 转换为true的值 转换为false的值
Boolean true false
String 非空字符串 空字符串
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined 不适用 undefined

  -----  Number类型

  js中浮点数的计算不准确,慎用~

  isFinite()  判断一个数是否在最小和最大的数值之间      

  NaN  非数值,与任何都不相等,包括它本身           isNaN()  

  非数值转换为数值:Number()  Number('')  0    Number(null) 0

           parseInt()  parseFloat()  如果第一个字符不是数字字符或者负号,则返回NaN   parseInt('')  NaN   parseInt(null) NaN

  -----  String类型

  转字符串的方法:  toString()  除null和undefined外都有此方法      String()可将任何类型的值转为字符串       加号操作符 +''   

  -----  Object类型

  Object的每个实例都具有下列属相和方法

    Constructor:保存着用于创建当前对象的函数

    hasOwnProperty(propertyName):属性在当前对象实例中是否存在

Ke361开源淘宝客系统
Ke361开源淘宝客系统

Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K

下载

    isPrototypeOf(object):传入的对象是否是另一个对象的原型

    propertyIsEnumerable(propertyName):属性是否能使用for-in语句来枚举

    toLocaleString()

    toString():返回对象的字符串表示

    valueOf():返回对象的字符串、数值或布尔值表示

4、操作符

  var age = 10;  var  newAge = ++age;  console.log(age);  //11   console.log(newAge);   //11    ++age先加后赋值,即先age+1,再将值赋给newAge 

  var age = 10;  var  newAge = age++;  console.log(age);  //11   console.log(newAge);   //10    ++age先赋值后加,即先将值赋给newAge ,再age+1

  -----  位操作符

  按位非(~)即操作数的负值减1

  按位与(&)两个数值对应位都是1时才返回1 ,任意一位是0,结果都是0 

  按位或(|)有一位是1的情况下就返回1

  按位异或(^)两个数值对应位上只有一个1时才返回1

  左移(

  有符号的右移(>>)用符号位的值来填充空位

  无符号的右移(>>>)用0填充空位

  -----  布尔操作符

  逻辑非(!)

  逻辑与(&&)短路操作符,即第一个操作数求值结果为false,就不会对第二个操作数求值   eg:console.log(1 && 2 && 3);  //3

  逻辑或(||)短路操作符,即第一个操作数求值结果为true,就不会对第二个操作数求值  eg:console.log(1 || 2 || 3);  //1

  -----  相等操作符

  null >= 0  //true    null == 0 //false   原因:关系运算符比较时会转成数值 ,相等运算符则不会

  

  null == undefined  //true    null == 0 //false    undefined == 0 //false 

  ==只比较值   ===既比较值,又比较类型

  之前面试被问到的一道题目:var a = 1, b = 1;  var c = {a:1}, d = {a:1};  console.log(a == b);  console.log(a === b);   console.log(c == d);   console.log(c === d);  //true true false false

  逗号表达式用于赋值时,总会返回表达式中的最后一项   eg:var num=(1,2,3);   console.log(num);  //3

5、语句

  do{} while ()语句    while() {}语句    switch语句

  for-in语句:可用来枚举对象的属性,返回属性的先后次序可能会因浏览器而异

  break语句:退出循环,执行循环后面的语句      continue:跳出本次循环,执行下次循环

6、函数

  arguments对象可访问参数的数组,参数的值可通过arguments[0]……来获取,有length属性

  未指定返回值的函数返回undefined值。这就是在chrome console中有时输入一些命令会返回undefined的原因~

 

 

 

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

js

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

2

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

446

2026.01.28

包子漫画在线官方入口大全
包子漫画在线官方入口大全

本合集汇总了包子漫画2026最新官方在线观看入口,涵盖备用域名、正版无广告链接及多端适配地址,助你畅享12700+高清漫画资源。阅读专题下面的文章了解更多详细内容。

145

2026.01.28

ao3中文版官网地址大全
ao3中文版官网地址大全

AO3最新中文版官网入口合集,汇总2026年主站及国内优化镜像链接,支持简体中文界面、无广告阅读与多设备同步。阅读专题下面的文章了解更多详细内容。

258

2026.01.28

php怎么写接口教程
php怎么写接口教程

本合集涵盖PHP接口开发基础、RESTful API设计、数据交互与安全处理等实用教程,助你快速掌握PHP接口编写技巧。阅读专题下面的文章了解更多详细内容。

9

2026.01.28

php中文乱码如何解决
php中文乱码如何解决

本文整理了php中文乱码如何解决及解决方法,阅读节专题下面的文章了解更多详细内容。

13

2026.01.28

Java 消息队列与异步架构实战
Java 消息队列与异步架构实战

本专题系统讲解 Java 在消息队列与异步系统架构中的核心应用,涵盖消息队列基本原理、Kafka 与 RabbitMQ 的使用场景对比、生产者与消费者模型、消息可靠性与顺序性保障、重复消费与幂等处理,以及在高并发系统中的异步解耦设计。通过实战案例,帮助学习者掌握 使用 Java 构建高吞吐、高可靠异步消息系统的完整思路。

10

2026.01.28

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

25

2026.01.27

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

124

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
JavaScript
JavaScript

共185课时 | 21.3万人学习

CSS教程
CSS教程

共754课时 | 24.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号