This is a big one for many of us. Probably the most beneficial perception shift you can have is to stop perceiving junk food as food at all.
There are two big components to this:
- "Cheap"/"affordable" foods are neither cheap nor affordable if they are bad for your health. They are pure waste. Whatever you're currently spending on foods you don't think you should be eating can be reallocated to foods you do think you should be eating and it's wiser expenditure regardless of how expensive the new foods are.
- When you're looking for something convenient, it's better to eat nothing than to eat something bad. Again, junk food isn't food. Eating it because you're hungry isn't helping anything. You didn't satisfy any nutritional requirements, so you still need to eat the same amount later. On the other hand, fasting is good for you, so just do that until you find something that is food. Also, the first point applies here: instead of eating a lot of garbage, it would be better to spend the same amount on a small portion of food.
I was inspired to write this because I was proud of myself for putting back a package of discounted double chocolate chip muffins this morning and just getting a dark chocolate bar instead.