2020-03-24
js
00
请注意,本文编写于 1526 天前,最后修改于 1526 天前,其中某些信息可能已经过时。

目录

1. 相关工具
js开发官方文档
nodejs
Visual Studio Code
2. 简述
es
v8
nodejs
3. js的注释
4. js常量和变量
5. js的数据类型
6. js的字符串
1. 定义
2. str 转义
3. str 支持的方法

js学习笔记,仅供自己使用!

1. 相关工具

需要安装的工具:

  1. nodejs
  2. Visual Studio Code
  3. Visual Studio Code 调用nodejs插件Node Exec 使用F8 运行代码

js开发官方文档

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide

nodejs

http://nodejs.cn/

Visual Studio Code

https://code.visualstudio.com/

2. 简述

js是一款动态的弱类型的脚本解释型语言

html css js 三大前端核心技术

html(超文本标记语言) css(层叠样式表) js

是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

js实现网页动态化 1995年 js诞生

div css 布局 js 变化

es

ECMA262 是一款脚本程序设计语言标准 js 就是根据ECMA262标准实现的

v8

v8引擎 chrome出品 将js的代码编译成字节码,大大提升了网站的性能

nodejs

nodejs是服务器端运行js代码的程序 npm是软件管理工具,发布分享nodejs的库和源代码 nodejs 4.0 引入es6的语言特性 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时 采用事件驱动,非阻塞的异步io模型 高效

3. js的注释

js 使用/注释内容/ 或者 // 注释内容 或者 /***

*/

4. js常量和变量

常量的申明const,常量申明不可改变 变量申明三种方式 var a = 1 a = 1 let a = 1 推荐使用 es6引入

let适用于块作用域内 var 可以突破一般的块作用域,但是不能突破函数作用域 使用var 可以提升作用域的位置,一般在程序里定义var变量,会最优先提前到最前位置(会引发程序错乱,推荐使用let)

5. js的数据类型

js的常见类型:

  1. 数值number
  2. 布尔boolean(true | false)
  3. 字符串string
  4. null
  5. underfined
  6. object类型

js是动态弱类型测试,类型之间存在隐式类型转换

  1. 其他类型+字符串 全部转换为字符串,+代表字符串拼接
  2. 没有字符串,有数字 全部转换为数字,+代表做算符
  3. NaN数字类型 console.log(a=null+undefined) ==> NaN console.log(a=null+undefined) ==> NaN
  4. null,true,false 可以默认为数字类型 null=0 true=1 false=0
  5. 短路操作 console.log(a=null && true,typeof(a)) console.log(a=false && null,typeof(a)) console.log(a=false && 'aa',typeof(a)) console.log(a=true && 'aa',typeof(a)) console.log(a=false && null,typeof(a))

输出结果: null object false boolean false boolean aa string false boolean

&&: 前者为真则为真 a && b:如果a是false,那么b不管是true还是false,都返回false,因此不用判断b了,这个时候刚好判断到a,因此返回a。 如果a是true,那么就要在判断b,和刚刚一样,不管b是true是false,都返回b。 ||: a || b:如果a是true,那么b不管是true还是false,都返回true。因此不用判断b了,这个时候刚好判断到a,因此返回a。 如果a是false,那么就要判断b,如果b是true,那么返回true,如果b是false,返回false

在js中: 以下内容会被当成false处理:"" , false , 0 , null , undefined , NaN 其他都是true。注意:字符串"false"也会被当做true处理,在未转型的情况下他是字符串,属于一个对象,所以是true。

6. js的字符串

1. 定义

  1. 单双引号定义
  2. 反引号定义 可以使用字符串占位替换(字符串差值)。es6支持 let name = 'mykernel' let age = 18

str = my name is ${ name },i am ${age} console.log(str) 结果: my name is mykernel,i am 18

2. str 转义

python

3. str 支持的方法

let a_str = 'my name is mykernel,i am 18' let b = 'good' console.log(a_str.charAt(3)) // 打印索引为3的字符 console.log(a_str[3]) // 打印索引为3的字符 console.log(a_str.toLocaleUpperCase()) // 转换为大写 console.log(a_str.concat(b)) // 拼接字符串b console.log(a_str.slice(3)) // 切片 console.log(a_str.slice(3,10)) console.log(a_str.slice(-5,-3)) console.log('分割:',a_str.split('.')) console.log('截取1:',a_str.substr(7,2)) // 字符串截取,从索引为7开始,截取2个字符 console.log('截取2:',a_str.substring(7,15)) // 字符串截取,从索引为7开始到15 /定位字符串的索引/ console.log(a_str.indexOf('m'))

/字符串替换/ console.log(a_str.replace('mykernel','zaizai'))

/去除空格/ s = ' aaa ' console.log(s.trim())

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!