10.17JS日记
1、变量提升
变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域,叫window,
window分为两个模块,一个叫做内存模块,一个叫做运行模块,内存模块找到当前作用域下的
所有带var和function的关键字,执行代码执行js代码,从上到下执行,遇到变量就会通过内存地址
去查找这个变量,有和没有这个变量,有这个变量就会看赋没赋值,如果赋值就是后面的值,如果没有赋值
就是undefined,如果没有找到这个变量,就是这个变量is not defined
2、条件语句
if(条件){
语句1
}else{
语句2
}
{}在js中我们把它叫做代码块,如果带代码块里的内容没有执行完,语句不会向下执行,代码块是一个独立的整体
如果js中的某一条语句出错,那么就会在此中止,不会向下执行
3、循环语句
循环:就是对一个整体逐个查找
循环(注意三个问题):
(1)从什么时候开始
(2)查找的步长
(3)结尾数字
❤计算机对数据的计算不是从1开始,而是从0开始,也就是说,0代表第一个数据,我们把
用数字代替字节的诶办法,讲数字叫做这个字节的下标(索引)
❤循环语句的格式:for(){}
for (var i=1;i<5;i++){
var 声明这个变量
i=1;开始位置
i<5;判断条件
console.log()执行代码
i++递增
console.log()
}
console.log(i)
i=null;
我们最后发现i=5,但是i应该是for循环的额代码块中的变量,但for循环之外也可以使用,我们把这种现象叫做内存泄露
需要清理内存,我们在使用完模块之后加一个:i=null;
❤JS处理数据的目的就是将数据渲染到页面中,而渲染得数据的本质是字符串,其他数据的底层都是字符串
学习到最后,都是在处理数据,渲染数据最本质的方法是字符串的拼接,后期的数据渲染得方式都是用字符串衍变而成的
4、+加号的使用
+ 字符串的拼接
变量和字符串之间都需要使用+进行连接
❤案例一:求1-10之间的和
var sum=0;
for(var i=1;i<=10;i++){
sum=sum=1
}
console.log(sum)
❤弹出框的三种方式
1、alert()警告框
2、输入框 prompt()
3、确认框confirm()
案例2、找出1-100之间既能被5又能被6整除的数字
for(var i=1;i<=100;i++){
if(i%5==0&&i%6==0){
console.log(i)
}
} 穷举法
我们把这种一个一个列举出来的方法叫做穷举法
案例3:如何取到375中的百位数、十位数、个位数
// var a=prompt("请输入。。。")
var a=375
var bai=a/100;
var b=parseInt(bai);
var s=parseint((a-b*100)/100)
var g=a-b*100-s*10
document.write("百位数字"+b+"十位数字是"+s+"个位数是"+g)
❤if条件的种类 if(条件){}
遇见这样的东西,我们要考虑m是不是有值,布尔值
var m;
if(m){→m是不是null
console.log("xixi")
}
if里面的条件(1)m=true
(2)m和null的关系
布尔中的true和false我们可以用数字代替,false为0,true为1...
if(m)我们可以说,如果m是true。如果m是非0
❤ var m=5,n=5; (=在js中为赋值,从右往左执行)
if(m==n){
console("hahah")
}
❤逻辑运算
var m=5,n=6;
if(m>4||n>7){
console.log("hahahh")
}
if(m>4&&n>7){
console.log("xixixi")
}
var s=false;
if(!s){
console.log("hehehh")
}
10.17JS日记的更多相关文章
- 10.24JS日记
1.函数都有返回值,人为return,返回什么就是什么,否则,他的返回值就是undefined 而方法的本质也是函数,所以也有返回值 document.getElementById()返回的是获取的标 ...
- 10.22JS日记
1.js数据类型分析 (1)基础类型:string.number.boolean.null.undefined (2)引用类型:object-->json.array... 2.点运算 xxx ...
- 9.10 h5日记
9.10 1.什么是属性 属性是表示某些事物的一些特征 2.属性分为标签属性和样式属性,二者的区别在于哪里 标签属性:<img src="01.jpg" width=&quo ...
- 10.31JS日记
this问题 (1)this是js的一个关键字,指定一个对象,然后替代this: 函数中的this指向行为发生的主体,函数外的this都指向window,没有意义 (2)函数内的this跟函数在什么环 ...
- 10.23JS日记
1.逻辑运算 || && ! ||:遇到第一个为true的值就中止并返回 &&:遇到第一个为false的值就中止并返回,如果没有false值,就返回最后一个不是fa ...
- 10.19JS日记
1.函数 关键词(function) var是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成 var可以在内存模块提前完成(js代码执行前),所以有变量提升这个功能 c ...
- 10.18JS日记
1.JS的本质就是处理数据,数据来自后台的数据库,所以变量起到了临时存储的作用, ES制定了js的数据类型 2.数据类型有哪些? (1)字符串 String (2)数字 Number (3)布尔 B ...
- 10.16JS日记
1.parseint() 2.parsefloat() 这两个单词运行的时候遇到第一个非数字就结束了 3.var a="hello word" a这个变量为字符串,每一个字母为字 ...
- 10.9h5日记
一.单位 1.px是基本的单位,像素 2.em也是一个单位,使用方式,用元素父级的字体大小乘以em前的数字,父级没有就向上一个父级找, 直到body为止,如果body没有,就用默认的字体大小16px ...
随机推荐
- Idea使用Maven异常 --- Maven网络代理设置
在conf/setting.xml和m2/repository/setting.xml中加入: <proxies> <!-- proxy | Specification for on ...
- 14.连接池.md
目录 连接池定义 常用开源连接池: DBCP: C3P0 连接池定义 使用统一的规范:javax.sql.DataSource实现统一编程 常用开源连接池: DBCP:tomcat C3P0:hibe ...
- 解决ngui挡住粒子的问题
using UnityEngine; using System.Collections; [ExecuteInEditMode] public class ControlParticle : Mono ...
- debug.keystare找不到的解决办法[转]
重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...
- CMake Error at cmake/OpenCVModule.cmake:295 (message): No extra modules found in folder:Please provide path to 'opencv_contrib/modules' folder
其实,我们使用的opencv中要用的contrib/modules 是需要额外下载并在cmakelists.txt中指定的 git clone https://github.com/opencv/ ...
- js高级-面向对象继承
一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...
- Oracle 监听器日志解析
Oracle监听器是驻留在Oracle实例所在服务器上的独立进程.作为客户端进程连接实例的重要沟通组件,Oracle监听器扮演着重要的地位.本篇将从监听器日志入手,分析阅读监听器日志和日常监听器常见行 ...
- node中可读流、可写流
javascript的一个不足之处是不能处理二进制数据,于是node中引入了Buffer类型.这个类型以一个字节(即8位)为单位,给数据分配存储空间.它的使用类似于Array,但是与Array又有不同 ...
- 03_java基础(五)之项目结构搭建
1.结构图 2.dao代码编辑 package com.day01.station.dao; /** * Created by Administrator on 2018/2/1. */ public ...
- 性能测试工具---jmeter
一.jmeter:简介 Apache jmeter是Apache组织的开发的源代码项目,是一个纯的Java应用,用于压力测试和性能测试,他最初的测试使用于web端的测试,但是后来也被扩展到其他的测试 ...