专栏首页凯哥JavaJS基础知识点(一)

JS基础知识点(一)

  • JavaScript介绍

* JavaScript:简称JS(最初的设计目的:解决浏览器和用户之间的交互问题)

* javascript的原名:livescript,后来改名为JavaScript.

* html和css属于标记语言

* html---->展示数据的

* css------>美化页面的

* JavaScript是编程语言---

* js是一门脚本语言,cmd命令

* js是一门弱类型语言,声明变量都要用var

* js是一门解释性语言

* js是一门动态类型的语言

* js是一门基于对象的语言

* 编译语言:写的代码通过编译器编译,然后执行

* 脚本语言:写的代码直接执行,不需要编译

  • JavaScript的组成(三部分)

1.ECMAScript标准----js的基本语法

2.BOM---浏览器对象模型

3.DOM---文档对象

  • JS代码的三种写法

1.行内的方式写js的代码,把js代码写在了html标签中

2.把js代码写在一对script标签中,方便维护(一般都会在script标签中加type=text/javascript这个内容,但是现在我们的这个html页面是基于h5的标准,所以,type的这个写法可以暂且的省略)

3.通过引入外部的js文件的方式写js代码(在script标签中 加上 src="js文件的路径即可")第三种写法的时候要注意,这对script标签的作用就是引入外部文件,不要在这对标签中写任何的内容,有可能会出现问题(在jQuery中会有所体现)

(html文件中是可以出现多对的script标签的)

  • 变量的声明和变量的初始化

1.  变量的声明:var   变量名;

  变量的赋值:变量名=值;

2. 变量的初始化:var  变量名=值;

  • 数据类型

1.简单类型和复杂类型:

简单类型: Number,String,Boolean,Undefined,Null

复杂类型:Object

2. 数字类型:Number

字符串类型:String,在js中存储字符串的数据的值,可以使用单引号,也可以使用双引号,目前推荐大家用双引号(代码中的括号小括号,大括号,中括号,逗号,分号都是英文的)

布尔类型:Boolean,其他的语言中bool,布尔类型中的数据只有true(1)或者是false(0)

未定义:undefined--就是自己,当一个变量声明了没有初始化(没有赋值),就是undefined

  如果变量的值是Undefined和数字计算,结果是NaN---不是一个数字

:null,当一个变量使用后,不想再使用了,可以赋值为null---->释放内存内存空间

Object:对象

  • typeof关键字--->识别该变量的类型

1.typeof 变量名

2.typeof(变量名)

  • 数字类型的范围

1.//获取数字类型的最大值

  console.log(Number.MAX_VALUE);

2.//获取数字类型的最小值

  console.log(Number.MIN_VALUE);

3.//isNaN--->不是一个数字,结果才是true,否则就是false

var num="我好开森哦";

console.log(isNaN(num));

  • 字符串的长度和拼接

1.获取字符串的长度:变量名.length---->该字符串的长度

console.log(name.length);

2.字符串的拼接:使用+来进行拼接

 console.log(name1+name2+name3);

  • 数字类型转换

   1.其他类型转数字类型---字符串转数字, 布尔转数字

1.parseInt(变量);---转成整数的方式

2.parseFloat(变量)----转小数的方式

3.Number(变量)---数字类型----如果转换失败了,则显示的是NaN

4.isNaN(值)--->如果不是一个数字则返回true,如果是一个数字则返回false

   2.其他类型转字符串类型

1.变量.toString()---转字符串了

2.String(变量)----转字符串了

3.其他类型转布尔类型

Boolean(变量)---转布尔类型

  • 操作符

算数运算符:+  -  *  / %(取余)---->一个数字和另一个数字相除之后的余数

算数运算表达式:是一个表达式,由算数运算符连接起来的表达式

关系运算符:> < >= <= == ===  !=  !==

逻辑运算符: &&--->逻辑与    ||  --->逻辑或    !   --->逻辑非

赋值运算符:=

赋值运算符中还有复合赋值运算符: +=  -=  *= /= %=

  一元运算符:(++变量  变量++)

如果++是在后面,参与运算的时候,先参与运算,然后运算完毕后再自身加1

如果++是在前面,先自身加1,参与运算

  • 流程控制

1.顺序结构

2. 分支语句(5个):if , if-else , if-else if-else if -else if...else  , swtich-case  , 三元表达式

3.循环语句(5):while , do-while  , for , break , continue

  • break关键字,continue关键字

1.break关键字---->关于循环的

 在循环中如果遇到了break关键字,则立刻跳出当前所在的循环

2.continue关键字---->在循环中使用

 在循环中遇到了continue--->立刻回到循环的条件的位置,继续下一次循环

  • 数组

     1.数组的作用:一次性可以存储多个数据,数组中存储的数据类型可以不一样

     2.数组的遍历:就是一个一个的获取数组中的数据

3.数组的定义:

1.通过构造函数的方式创建数组

 var 数组名=new Array();

2.通过构造函数的方式创建数组

 var 数组名=new Array(长度);

3.字面量的方式定义数组

  var 数组名=[];

  • 函数

1.函数:把一些重复的代码封装起来,在需要的时候直接调用

2.函数的作用:代码的重用(代码的重复使用)

3.函数的定义:

函数定义的语法:

function 函数名(){

  函数体

}

函数的调用:

 函数名();

  4. 函数名字符合驼峰命名法

5.函数的参数

 函数的参数:函数在定义的时候,函数名后面的小括号中的变量,就叫参数

 函数在调用的时候传入的变量或者是值,也叫参数;

 函数定义的时候函数名后面的小括号里面的变量叫形参

 函数调用的时候函数名后面的小括号里面的变量或者是值叫实参

6.函数的返回值

如果一个函数没有返回值(函数中没有return),也没有参数,这个函数可以叫:无参数无返回值的函数;

返回值的细节问题:

当需要返回多个数据的时候,可以先将这些数据都传入到数组中,最后返回一个数组即可。

在函数中,return下面的代码,不执行;

函数没有返回值,接收了返回来的结果,结果是undefined;

当一个变量声明了,没有赋值,结果是undefined;

当一个函数内部,有return,但是后面什么也没有,那么此时,这个函数也是没有返回值的,该函数没有明确的返回值;

当一个函数没有明确的返回值的时候,如果接收,结果就是undefined;

  • arguments伪数组

arguments是可以在函数内获取用户在调用函数的时候传入了几个参数,同时还可以获取每个传入参数的值

  • 作用域

作用域:变量的使用范围

局部变量:在函数中定义的变量就是局部变量

全局变量:除了函数以外任意的地方定义的变量,都是全局变量

   局部变量的使用范围:只能在函数中使用

   全局变量的使用范围:在页面的任何位置都可以

   代码块:在一对大括号中写的代码,变量在代码块声明,只能在代码块中使用,(暂且的)  在js中是没有块级作用域的

隐式的全局变量:声明变量,没有使用var

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java并发编程之CAS第三篇-CAS的缺点

    通过前两篇的文章介绍,我们知道了CAS是什么以及查看源码了解CAS原理。那么在多线程并发环境中,的缺点是什么呢?这篇文章我们就来讨论讨论

    凯哥Java
  • 【精选好文】Reddit如何统计每个帖子的浏览量

    之前没听过也没了解过 HyperLogLog,通过翻译这篇文章正好简单学习下。欢迎指正错误~

    凯哥Java
  • SpringMVC访问出错No converter found for return value of type

    在使用SSM整合的时候,spring mvc 添加@ResponseBody的时候,正常情况下都会返回json的。但是又的时候如果没有配置好的话,如果想要返回M...

    凯哥Java
  • 用Python进行速度预测

    这次分享一段数据特征挖掘准备工作的套路~ 数据格式是这样的: ? task 预测值:速度 特征值: Region 区域 Length 长度Volume 流...

    企鹅号小编
  • 深度摄影风格转换--Deep Photo Style Transfer

    Deep Photo Style Transfer https://arxiv.org/abs/1703.07511

    用户1148525
  • 2.django restframework 项目部署到ubuntu18.04上(上传测试项目)

    玩蛇的胖纸
  • python六十五课——单元测试(一)

    对函数(模块中的)进行单元测试: 步骤一: 需要先导入测试模块unittest,然后自定义类继承unittest中的TestCase类, 并且去重写setUp(...

    hankleo
  • python全栈考试

    a.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

    超蛋lhy
  • JavaScript 中的函数式编程:函数,组合和柯里化

    但是,JavaScript 并没有一直遵循一个规则,而是正好处于这两个规则的中间,它提供了普通OOP语言的一些方面,比如类、对象、继承等等。但与此同时,它还为你...

    前端小智@大迁世界
  • 学编程这么久,还傻傻分不清什么是方法(method),什么是函数(function)?

    在编程语言中有两个很基础的概念,即方法(method)和函数(function)。如果达到了编程初级/入门级水平,那么你肯定在心中已有了初步的答案。

    Python猫

扫码关注云+社区

领取腾讯云代金券