原生JS总结

第一章

		1.JS是一种编程语言,主要生成一些特效,完成用户和页面的交互
		2.引入:
			内部脚本
			外部脚本
			<script type ="text/javascript" src="">	</script>
			浏览器内核:渲染引擎	JS引擎

第二十章

第二十一章 函数进阶

	1.函数定义
		1> 函数声明定义:
			function 函数名(参数){
				代码块
			}
		2>函数表达式定义:
			没有函数标识符,即匿名式函数表达式(可绑定变量,事件)
			var 函数名 = function(参数){
				代码块
			}
			有函数标识符,即命名式函数表达式
			var 函数名 = function 函数标识符(参数){
				代码块
			}
			函数名();
			函数标识符的局限性:
				调用命名式函数表达式时,用函数名+()调用,函数标识符只是一个标识符,不能调用函数
				函数标识符只有在函数作用域中有效,在外面无效
				函数声明定义与函数表达式定义区别:
					声明定义函数时,产生声明提升
					表达式定义函数时,不会产生声明提升
		3>构造函数法定义:
			var 变量 = new Function("形参1","形参2","方法体")
	2.void:对给定的表达式进行求值,然后返回undeifed
		eg:var  = void 0;
		<a href="javascript:void(0)"></a>
	3.call和apply
		相同之处:调用一个对象的一个方法
		不同之处:接收的参数不一样,call把参数按顺序传递,apply把参数放在数组里传递
	4.匿名函数:也叫入函数
		优先表达式:(function(){} ())
		函数字面量:(function(){}) ()
		特点:
			1> 不会污染全局对象
			2>定义和调用合为一体

第二十二章 函数的三种定义与四种调用

	三种定义
		1> 函数声明定义,有声明提升,不会自执行,而调用
		2> 函数表达式定义
			匿名式函数表达式
			命名式函数表达式
		3> 构造函数定义
	四种调用和this指向
		1> 函数模式调用:this只想window
		2> 方法模式调用:this指向调用它的对象
		3> 构造函数模式调用:this指向新创建的对象
		4> apply调用:this指向apply()里的对象,如果apply()没有参数,则指向window

第二十三章 对象进阶

	创建对象的几个方法:
		1.字面量/自定义创建对象
			1> 先声明,后添加
			2> 声明时添加
		2.原生构造函数形式创建对象
			eg:var obj = new Object();
				obj.name = "呵呵"
		3.工厂模式创建对象
		4.自定义构造函数创建对象
			
		自定义构造函数创建对象与工厂模式创建对象相比的特点:
			1> 函数首字母为大写
			2> 有new操作符
			3> 没有return语句
			4> 可以使用instanceof检测操作符检测对象类型
			5> 没有显式的创建对象,而是直接将属性和方法赋给了this对象

第二十四章 回调函数

	回调函数式一个函数,它作为个传参传递给另一个函数,并在主函数完成后执行
	回调与同步,异步没有直接的关系,可以有同步回调,也可以有异步回调
	回调函数类型:
		1.DOM事件回调函数→同步回调
		2.定时器回调函数→异步回调
	回调函数的参数:
		1.可以没有参数
		2.有参数,则回调函数的参数作为与回调函数同等级的参数进行传递
			1> 参数写在主函数里
			2> 参数写在回调函数里

第二十五章 JS之瀑布流

	谈谈你对瀑布流的了解
		瀑布流是一种布局,视觉表现为参差不齐的布局,随着页面滚动条向下滚动,可以不断加载数据
	瀑布流特点
		1.布局:呈现出等宽不等高,参差不齐排序
		2.随着页面滚动条向下滚动,可以不断加载数据,无限加载
	瀑布流的应用案例:high购	蘑菇街	京东
	实现瀑布流的方式有哪些?有什么优缺点
		1.原生JS:效率高,兼容好,逻辑要求高
		2.JQ:开发效率高,运行速度快
		3.C3:开发效率高,兼容不好
	从瀑布流的特点出发,瀑布流的底层实现原理分为两部分,分为'页面布局'和'图片加载'功能

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二十六章 构造函数与普通函数

	原生构造函数语法格式
		var x = Function('x','y',alert(x+y)')
	自定义构造函数语法格式
		function Person(name,age){
			this.name = name
			this.age = age
		}
	原生构造函数应用
		1.通过原生构造函数形式创建数组
			var arr = new Array()
		2.通过原生构造函数形式创建对象
			var obj = new Object()
		3.通过原生构造函数形式创建时间
			var ddate = new Date()
		4.通过原生构造函数形式创建字符串
			var str = new String()
	函数声明定义和函数表达式定义的函数,在调用时有区别吗?简单阐述
		函数声明定义的函数可以在声明之前调用,因为有函数声明的提升
		函数表达式定义的函数只能在声明之后调用
	函数表达式定义函数分为两种,有区别
		匿名函数表达式和命名式函数表达式
		区别:
			匿名式函数表达式没有函数标识符
			命名式函数表达式有函数标识符
	call和apply区别:
		相同之处:调用一个对象的一个方法
		不同之处:call把参数按顺序传递		apply把参数放在数组里传递

第二十七章 公私有变量及链式作用域

	私有变量:私有的变量外部无法访问
	公有变量:外部都可以访问
		eg:function Person(){
				var name = "熊大";	//私有内部变量
				this.age = 20;
			}
			var person = new Person();
			console.log(person,age);	=> 20
			console.log(person.name);	=>undefined
	私有函数:外部无法执行
	公用函数:外部都可以访问执行
	全局变量越多越好吗?为什么?
		不好,从变量的生命长度去考虑,全局变量直到页面关闭才释放掉所占用的内存,所以全局变量越多占用内存越多性能越差,脚本运行速度越慢,所以"全局变量是魔鬼"
	特权方法:
		如果想在函数外部访问私有变量或私有函数,可以通过构造特权方法
	变量的链式作用域:
		父对象的所有变量,对子对象都是可见的,反之不成立

第二十八章 闭包

	概念:有权访问另一个函数作用域中变量或私有函数,可以通过构造特权方法
	类型:闭包是函数
	作用:访问另一个函数作用域中的变量
	原理:通过匿名式函数把局部变量主流在内存里,可以减少全局变量的使用
	优点:封装性,减少了全局变量使用频率,减少污染
	缺点:由于闭包作用域中返回的局部变量资源不会被立即回收,所以可能会占用更多内容,会导致卡顿
	解除引用:btn = null;

第二十九章 cookie与存储

	cookie的格式:
		name = value; [expires = date];[path = path];[domain = domain];[secure]
		写入cookie:document。cookie = "user = 熊大"
			编码:encode URI Component
			解码:decode URI Comronent
		设置时间:
			var date = new Date()
			date.setDate(date.getDate()+T);
			document.cookie = "user =" + encode URI Component("熊大")+";
			expires = "+date"
			alert(decode URI Component(docunment.cookie));
		手动清理cookie:
			1.date.setDate(date.getDate()-1)
			2.date = new Date(0)

第三十章 cookie局限性与其他存储方式

	cookie局限性:
		1.数量限制:20个
		2.清理方式:每个浏览器都会清理,方式不一样
		3.大小限制:不超过4095字节
		4.安全性:将数据存储在客户端,安全性较低
	抛出异常:throw new Error()
	其他存储方式:
		1.sessionStorage会话存储
			session Storage.setItem("name","熊大")
			session Storage.removeItem("name")	(移除)
			alear(session Storage.getItem("name"))
		2.听过属性方式会话存储
			session Storage.name = "熊大"
			session Storage.removeItem("name")	(移除)
		3.local Storage

第三十一章 cookie与session小结

	1.你对cookie的了解:
		cookie是一小段文本信息,储存于客户端,每当用户访问站点时,程序都可以读取包含cookie的信息
	2.cookie类型:会话型cookie和持久型cookie
	3.cookie与session区别:大小限制,储存位置,性配,安全性

补充

  • 13
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Theleaf是一种用于在服务器端渲染HTML的模板引擎,它使用原生的HTML标签进行模板渲染。然而,Thymeleaf本身并不支持直接使用原生的JavaScript进行渲染。如果您需要在Thymeleaf中使用原生JavaScript进行渲染,可以考虑以下几种方法: 1. 使用Thymeleaf表达式生成JavaScript代码: 您可以在Thymeleaf模板中使用Thymeleaf表达式生成JavaScript代码,并将其插入到HTML中。例如,您可以使用Thymeleaf的属性前缀`th:inline="javascript"`来指示Thymeleaf解析内联的JavaScript代码。然后,您可以在`<script>`标签中编写原生的JavaScript代码,并在其中使用Thymeleaf表达式来引用模板中的数据。请注意,该方法只能在内联JavaScript中使用Thymeleaf表达式,而不能在外部JavaScript文件中使用。 2. 使用Thymeleaf生成动态数据: Thymeleaf还支持使用动态值来生成HTML属性的值。您可以在Thymeleaf模板中使用Thymeleaf的属性前缀`th:`来指示Thymeleaf使用动态值。例如,您可以使用`th:src`属性来指定一个动态的图片路径。然后,您可以在JavaScript中使用这些动态值来渲染页面。 3. 结合其他JavaScript库: 如果您需要更灵活地使用原生JavaScript进行渲染,可以考虑将Thymeleaf与其他JavaScript库(如jQuery)结合使用。您可以使用Thymeleaf生成HTML模板,并在模板中使用特殊的占位符来表示需要替换的数据。然后,在客户端使用JavaScript库来解析模板并替换占位符为实际数据。这样,您就可以使用原生JavaScript来进行更灵活的渲染。 总结起来,Thymeleaf本身并不直接支持使用原生JavaScript进行渲染,但可以通过使用Thymeleaf表达式生成JavaScript代码、使用动态值和结合其他JavaScript库等方法来实现在Thymeleaf中使用原生JavaScript进行渲染。具体选择哪种方法取决于您的需求和项目要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值