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 ...
随机推荐
- python实现Excel删除特定行、拷贝指定行操作
工作中遇到的,本来用VBA写的,操作很慢,尝试用Python实现, 任务需求: 从原始的两张表中拷贝行到五张表中,如下表所示: source1和source2是一样的格式: one t ...
- GIS案例学习笔记-明暗等高线提取地理模型构建
GIS案例学习笔记-明暗等高线提取地理模型构建 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对数字高程模型,通过地形分析,建立明暗等高线提取模型,生成具有 ...
- RTX二次开发SDK需要注意的地方
1.如果是ASP.net二次开发调用的,线程池必须开发 Enable 32-bit Applications设置为true. 因为RTX的调用接口很多是32位的.否则会报一下错误 RootObj = ...
- tf.Variable和tensor的区别(转)
刷课过程中思考到Variable和Tensor之间的区别,尝试发现在如下代码中: a = tf.Variable(tf.ones(1)) b = tf.add(a,tf.ones(1)) 1 2 a是 ...
- python基础学习 Day19 面向对象的三大特性之多态、封装
一.课前内容回顾 继承作用:提高代码的重用性(要继承父类的子类都实现相同的方法:抽象类.接口) 继承解释:当你开始编写两个类的时候,出现了重复的代码,通过继承来简化代码,把重复的代码放在父类中. 单继 ...
- yii添加模型基础类
- 11.8java课后动手动脑
package 动手动脑; import javax.swing.*; class AboutException { public static void main(String[] a) { int ...
- Dictionary在多线程情况下
Add时出错 错误信息: Index was outside the bounds of the array. 详细信息: at System.Collections.Generic.Dictiona ...
- Application类
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.IO; usin ...
- 使用Fiddler查看APP的请求接口、接口参数和返回值的方法
1.下载Fiddler,然后安装成功后. 2.开启代理的设置 3.查看电脑的ip, 4.建立一个wifi局域网,什么360wifi,猎豹wifi,腾讯wifi都可以,用安装手机接入到这个局域网的wif ...